3

私のMacCocoa単体テストでは、テストプロセスの一部としていくつかのファイルを出力し、テストが完了したらそれらを削除したいと思いますが、失敗がない場合に限ります。これはどのように行うことができますか(および/またはそうするための最もクリーンな方法は何ですか)?

4

2 に答える 2

2

あなたの質問が気になったので調べてみました!

failWithException:クラスのメソッドをオーバーライドしSenTestCase(テストを実行するクラスはこれから継承します)、メソッドを呼び出す前に「出力ファイルを保持する」フラグなどを設定すると思いますsuper

SenTestCase.h がそのメソッドについて述べていることは次のとおりです。

/*"Failing a test, used by all macros"*/
- (void) failWithException:(NSException *) anException;

したがって、SenTest マクロをテストおよび/または失敗にのみ使用する場合 (そして、あなたのケースではこれが当てはまる可能性があります)、テストの失敗をカバーする必要があります。

于 2012-01-27T21:14:47.063 に答える
0

このためのスクリプトを掘り下げたことはありませんが、これを行うために実際にテストを実行するスクリプトを呼び出す方法をカスタマイズできるようです。Xcode 4 で、テスト ターゲットの [ビルド フェーズ] タブの最後のステップを確認します。私のものにはこれが含まれています:

# Run the unit tests in this test bundle.
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"

このスクリプトの内容や、このスクリプトが私のマシンに取り込んだ多くの添え字を詳しく調べたことはありませんが、おそらくこれらは otest やその他のテスト リグの実行可能ファイルを呼び出し、テスト結果がそのスクリプトに返されるでしょう。これらのスクリプトに少し慣れれば、テスト結果に基づいて出力ファイルを条件付きで削除する簡単な方法を見つけることができるでしょう。

于 2012-01-27T22:07:15.750 に答える