私は、iPhone用の単体テストを書く際のAppleの文書に従っていましたが、そのまま使用できないようです。私は単体テストがアプリケーションデリゲートへの参照を取得する場所を理解していません。iPhone - 論理ユニットテスト用のリソースを取得する
私の依存関係は、次のようなものです: My_Program_target - > UnitTesting_target - > UnitTests_bundle
アサートに失敗したところ、次のコードスニペットです。私はCPPUNITにとても精通していますが、これがどのように交差するかを理解するのは難しいです。さらに
- (void) testAppDelegate {
id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
STAssertNotNil(yourApplicationDelegate, @"UIAppliation failed to find the AppDelegate");
}
:私はロジックテストを行うには、私のアプローチに決めました
。私はXMLファイルを読み込もうとしていますが、バンドルを解決できないので、ファイルにアクセスできるようになります。私は、allBundlesによって出力されたパスを貼り付けようとしましたが、そのパスは動作していないようです。以下は、(あなたは私が出力にバンドルのパスを使用していデバッグ文を参照してくださいすることができます)私は私のテストで実行してるものです:
NSLog(@"BundlePaths: %@", [NSBundle allBundles]);
NSString * path = [[NSBundle bundleWithPath:@"$(TARGET_BUILD_DIR)"] pathForResource:@"SimpleTestList" ofType:@"plist"];
STAssertNotNil(path, @"Bundle Location couldn't find the file specified");
本質的には、パス上のアサートが成功していないが、私は」バンドルリソースをコピーするように指示したunitTestバンドルを参照するために、パスまたはディレクトリに何を入れるべきかわかりません。 [NSBundle mainBundle]を呼び出しても機能しません。
Garyの解を捨てて、私は次の[Xcode:TEST対DEBUGプリプロセッサマクロ]を考え出しました(http://stackoverflow.com/questions/6748087/xcode-test-vs-debug-preprocessor-macros/6763597)。 #6763597)。 – ma11hew28