内部で UITests 用にアプリを準備してapplication:didFinishLaunchingWithOptions:
も問題ない場合は、次の操作を実行できます。
setUp()
テスト クラスを拡張するメソッドで、次XCTestCase
のコードを追加します。
let application = XCUIApplication()
application.launchEnvironment = ["UITESTS":"1"]
application.launch()
次に、application:didFinishLaunchingWithOptions:
次のコードを使用してフラグを確認できます。
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
let env = ProcessInfo.processInfo.environment
if let uiTests = env["UITESTS"], uiTests == "1" {
// do anything you want
}
// further set up code
}
もちろん、それがあなたのためのオプションである場合。
注:フラグの"1"
引数として設定する代わりに"UITESTS"
、さまざまなテスト ケースやテスト メソッドにさまざまな値を指定することができます (ただし、そのような場合は、 ではなく、テスト メソッドからアプリケーションを起動する必要がありますsetUp()
) 。
注 2: フラグを処理するコードを#if DEBUG
ブロックにラップすることをお勧めします。