manpagez: man pages & more
man xcodebuild.xctestrun(5)
Home | html | info | man

xcodebuild                           LOCAL                          xcodebuild


NAME

     xcodebuild.xctestrun -- Test run parameters files for xcodebuild


DESCRIPTION

     This document details the parameters contained in an xctestrun file. Dur-
     ing the build-for-testing action, xcodebuild extracts parameters from the
     scheme provided to the build-for-testing action and writes the parameters
     to an xctestrun file in the built products directory. A developer can
     edit the parameters in the xctestrun file and then provide the file to
     the xcodebuild test-without-building action with the -xctestrun option.


PROPERTY LIST KEYS

     An xctestrun file contains discrete chunks of parameters - a chunk for
     each bundle that xcodebuild will test. Each chunk can contain the follow-
     ing parameters, and some of the parameters are mandatory, as described
     below.

     The following parameters are mandatory during basic commands:

           TestBundlePath <string>
           A path to the test bundle to be tested. The xcodebuild tool will
           expand the following placeholder strings in the path:

                 __TESTROOT__
                 The directory containing the xctestrun file.

                 __TESTHOST__
                 The test host directory bundle provided by TestHostPath.

           TestHostPath <string>
           A path to the test host. For framework tests, this should be a path
           to the xctest command line tool. For application hosted tests, this
           should be a path the application host. For UI tests, this should be
           a path to the test runner application that the UI test target pro-
           duces. The xcodebuild tool will expand the following placeholder
           strings in the path:

                 __TESTROOT__
                 The directory containing the xctestrun file.

                 __PLATFORMS__
                 The platforms directory in the active Xcode.app.

           UITargetAppPath <string>
           A path to the target application for UI tests. The parameter is
           mandatory for UI tests only. The xcodebuild tool will expand the
           following placeholder strings in the path:

                 __TESTROOT__
                 The directory containing the xctestrun file.

     These parameters are optional for all commands:

           EnvironmentVariables <dictionary of string keys and values>
           The environment variables from the scheme test action that
           xcodebuild will provide to the test host process.

           CommandLineArguments <array of string values>
           The command line arguments from the scheme test action that
           xcodebuild will provide to the test host process.

           UITargetAppEnvironmentVariables <dictionary of string keys and
           values>
           The environment variables that xcodebuild will provide to the tar-
           get application during UI tests.

           UITargetAppCommandLineArguments <array of string values>
           The command line arguments that xcodebuild will provide to the tar-
           get application during UI tests.

           BaselinePath <string>
           A path to a performance test baseline that xcodebuild will provide
           to the tests. The xcodebuild tool will expand the following place-
           holder strings in the path:

                 __TESTBUNDLE__
                 The path to the test bundle. This is expanded to a device
                 path when UseDestinationArtifacts is set.

                 SkipTestIdentifiers <array of strings>
                 An array of test identifiers that xcodebuild should exclude
                 from the test run.

                       Test Identifier Format
                       Identifiers for both Swift and Objective-C tests are:

                             Test-Class-Name[/Test-Method-Name]

                       To exclude all the tests in a class Example.m, the
                       identifier is just "Example". To exclude one specific
                       test in the class, the identifier is "Example/testExam-
                       ple".

                 OnlyTestIdentifiers <array of strings>
                 An array of test identifiers that xcodebuild should include
                 in the test run. All other tests will be excluded from the
                 test run. The format for the identifiers is described above.

           The following are for advanced commands that control how xcodebuild
           installs test artifacts onto test destinations:

                 UseDestinationArtifacts <bool>
                 An optional flag to indicate that xcodebuild should look on
                 the destination for test artifacts. When this flag is set,
                 xcodebuild will not install test artifacts to the destination
                 during testing.  TestBundlePath, TestHostPath, and
                 UITargetPath should be excluded when this flag is set.
                 Instead, xcodebuild requires the following parameters.

                 TestHostBundleIdentifier <string>
                 A bundle identifier for the test host on the destination.
                 This parameter is mandatory when UseDestinationArtifacts is
                 set.

                 TestBundleDestinationRelativePath <string>
                 A path to the test bundle on the destination. This parameter
                 is mandatory when UseDestinationArtifacts is set. The
                 xcodebuild tool will expand the following placeholder strings
                 in the path:

                       __TESTHOST__
                       The test host directory bundle on the destination.

                 UITargetAppBundleIdentifier <string>
                 A bundle identifier for the UI target application on the des-
                 tination. This parameter is mandatory when
                 UseDestinationArtifacts is set.

           This last parameter is mandatory for all commands and is needed to
           configure the test host environment:

                 TestingEnvironmentVariables <dictionary of string keys and
                 values>
                 Additional testing environment variables that xcodebuild will
                 provide to the TestHostPath process. The xcodebuild tool will
                 expand the following placeholder strings in the dictionary
                 values:

                       __TESTBUNDLE__
                       The path to the test bundle. This is expanded to a
                       device path when UseDestinationArtifacts is set.

                       __TESTHOST__
                       The test host directory provided by TestHostPath.

                       __TESTROOT__
                       The directory containing the xctestrun file.

                       __PLATFORMS__
                       The platforms directory in the active Xcode.app.

                       __SHAREDFRAMEWORKS__
                       The shared frameworks directory in the active
                       Xcode.app.


EXAMPLE PROPERTY LIST

     This example will run tests from one test bundle called Tests.xctest:

           <?xml version="1.0" encoding="UTF-8"?>
           <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
           "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
           <plist version="1.0">
           <dict>
                <key>TestTargetName</key>
                <dict>
                     <key>TestBundlePath</key>
                     <string>__TESTHOST__/PlugIns/Tests.xctest</string>
                     <key>TestHostPath</key>
                     <string>__TESTROOT__/App-Runner.app</string>
                     <key>UITargetAppPath</key>
                     <string>__TESTROOT__/Target.app</string>
                     <key>TestingEnvironmentVariables</key>
                     <dict>
                          <key>DYLD_FRAMEWORK_PATH</key>
                          <string>__TESTROOT__:__PLATFORMS__/iPhoneOS.platform/Developer/Library/Frameworks</string>
                          <key>DYLD_LIBRARY_PATH</key>
                          <string>__TESTROOT__:__PLATFORMS__/iPhoneOS.platform/Developer/Library/Frameworks</string>
                          <key>XCODE_DBG_XPC_EXCLUSIONS</key>
                          <string>com.apple.dt.xctestSymbolicator</string>
                     </dict>
                </dict>
           </dict>
           </plist>


SEE ALSO

           xcodebuild(1)

OS X                            April 11, 2016                            OS X

Mac OS X 10.12.6 - Generated Wed Nov 1 15:42:44 CDT 2017
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.