1

OCUnitを使用してユニットテストを記述しています。GHUnitを試しましたが、私の場合には適していません。

コードがApplicationDelegateインスタンスに大きく依存しているため、アプリケーションテストを実行したいと思います。しかし、私は論理テストを実行する方法を理解することしかできず、アプリケーションテストを実行することはできません。

これはテンプレートのサンプルテストコードですが、テストが失敗したか(アプリケーションデリゲートがない)、テストコードがまったく実行されていません。

- (void) testAppDelegate {

    id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
    STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate");

}

テストの設定方法についてアップルのガイドを見つけましたが、Xcode4用ではありません

4

1 に答える 1

2

xcode4でアプリケーションテストを実装する方法をここで答えました か?

「MyApp」というアプリケーションターゲットがあると仮定します

  1. タイプ「other/CocoaUnit TestingBundle」の新しいターゲットをプロジェクトに追加します(例:「MyAppTesting」)。ここにすべてのユニットテストファイルがあります。
  2. MyAppTestingビルドフェーズに移動し、MyAppをターゲット依存関係として追加します。これにより、MyAppTestingターゲットをビルドする前にMyAppがビルドされることが保証されます。
  3. MyAppTestingのビルド設定を開き、変更します
    • バンドルローダー:$(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp
    • テストホスト:$(BUNDLE_LOADER)
    これにより、MyApp内でテストが実行されます。
  4. MyAppのビルド設定を開き、変更します
    • デフォルトで非表示になっている記号:NO(両方)
    • コピー中にデバッグシンボルを削除します:Debug:NO
    そうすることで、すべての.mファイルをテストターゲットに含める必要がなくなります。

于 2011-05-30T09:11:26.570 に答える