目標 c のテスト ケースの独自のカスタマイズ stassert ステートメントを白くすることはできますか?
3 に答える
統合テスト、または複数の異なるコンポーネント間の相互作用を伴うテストを行っている場合、特定の動作が発生したかどうかを確認するのは難しいことを理解しています-動作が非表示になっている、またはメインコードに記録されていない可能性があるためです。
1つの解決策は、動作を記録したり、内部状態をテストユニットに公開したりするコードを記述し、#ifdef
そのようなコードブロックを囲むために使用することです。
デバッグモードのアプリターゲット(テストターゲットではない)のビルド設定にプリプロセッサマクロを追加できます。ただし、これは混乱の原因となる可能性があります。
はい、あなたはそれらを書くことができます。
GHUnit、OCUnit、OCMock の単体テストについて読んでください。
このチュートリアルを読むhttp://www.raywenderlich.com/3716/unit-testing-in-xcode-4-quick-start-guide
assert ステートメントは単なるマクロなので、独自に記述できない理由はありません。SenTestCase_Macros.h
それらがどのように実装されているかを確認してください。常に使用するものであれば、独自のカスタム アサーションを作成する価値があるかもしれませんが、多くの場合、独自のロジックを作成し、nhahtdh が推奨するように STAssertTrue を実行する方が簡単です。
もし私が iOS 単体テストを今始めていたら、真っ直ぐにKiwiに行きます。これは、SenTestingKit よりもはるかに優れた構文であり、独自のカスタムの高レベル マッチャーを記述するのははるかに簡単です (判読できないマクロではなく、簡潔で小さなクラスを記述します)。