-
Notifications
You must be signed in to change notification settings - Fork 28
Build Artifacts and Test Types
Emcee needs build artifacts in order to run your tests. There are different build artifacts depending on type of test you want to run. In any case, xcodebuild build-for-testing
will produce these artifacts for you. You will need to ZIP and upload them on some HTTP server with direct URLs so Emcee workers would be able to download and use them to run tests.
Read more about organizing your HTTP server here.
Different test types require different set of build artifacts to be provided to Emcee in order to successfully execute tests.
Also known as XC UI native tests. In this test scenario, main app is launched and then controlled by another app (XCTRunner.app
). The latter also runs your tests. This allows to achieve black box-like test mode.
The required artifacts are:
-
App under test -
.app
bundle of the app being tested -
XCTRunner.app
- Xcode will add one into DerivedData folder, typically named after your UI tests target, e.g.UITests-Runner.app
-
xctest
bundle - usually it is located insideUITests-Runner.app/PlugIns/
.
In this test scenario, the app under test starts and runs your test bundle, thus, the app itself acts like a test hosting app. Tests have access to all objects and memory of the app under test. This allows to write gray or white box tests.
The required artifacts are:
-
App under test -
.app
bundle of the app being tested -
xctest
bundle - usually it is located insideAppUnderTest.app/PlugIns/
.
This test environment does not require a hosting app. Tests are loaded and executed by xctest
process. Usually things like CocoaPods dev pods can be tested in logic test mode.
The required artifacts are:
-
xctest
bundle - usually it is located inside your Derived Data folder.