1

Xcode が提供する組み込みのテスト フレームワークを使用して、アプリケーション コードがアプリとして実行されているのではなく、テスト ランナーによって実行されているかどうかを判断する方法はありますか?

つまり、アプリケーション コードで次のようなことができるかどうか疑問に思っています。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // ...

    if (IsUnitTestRunning()) {
        [self useDefaultSettings];
        [self showDefaultViewController];
    }
    else {
        [self restoreUserSettings];
        [self restoreUserInterface];
    }

    // ...
}

いくつかのプリコンパイラ マクロを定義する新しい構成を作成し、テストの実行時にその構成をビルドして使用するように Xcode スキームを設定したり、テストの実行時にアプリ内のある種のグローバル変数を YES に設定したりできることはわかっていますが、これを処理するために、OCUnit または Xcode に既に組み込まれているものがあるかどうか疑問に思っています。

4

1 に答える 1