11

Xcodeでは、単体テストの最後に次のような結果が得られます。

テストスイート「すべてのテスト」は2012-12-0610:23:38+0000に終了しました

4.314(4.485)秒で0回の失敗(0回の予期しない)で195回のテストを実行しました

予想される失敗を伴うテストをどのように定義できるかを知りたいです。

通常、他のテストフレームワークでは、実行する必要のある将来の作業を思い出させるものとして、不完全な単体テストを定義できるのが好きです。これらのテストは警告としてのみログに記録する必要がありますが、他のすべてに問題がない場合は、「成功」の最終結果が得られます。

Xcodeの出力を見ると、同じことを実現する方法があると思います。ただし、不完全/TODOテストをマークするための適切なマクロを見つけるのに問題があります。さらに、通常の障害が次のように報告されるのは奇妙に思えます。

2.314(2.334)秒で1回の失敗(0回の予期しない)で95回のテストを実行しました

したがって、テストアサーションの失敗は予想されるようです。その場合、私は(0の予期しない)失敗の意味とさえ混同されます。

ログ結果のその部分の意味を誰かが説明できますか?、それをどのように使用できますか?不完全なテストにマークを付けるにはどうすればよいですか?

4

2 に答える 2

9

「予期しない障害」は、スローされた未処理の例外です。アサーションによってチェックされる、予想される障害とは対照的です。

OCUnitは、テストを「実行しない」としてマークする方法を提供していません。コメントアウトするか(テストがコンパイルされなくなるリスクが残ります)、メソッド名を変更して「テスト」プレフィックスが付けられないようにします。たとえば、testSomethingの名前をXXXtestSomethingに変更します。(これにより、元に戻すのを忘れるリスクが残ります。)

于 2012-12-07T05:57:36.497 に答える
1

私の問題の1つの解決策は、警告プリプロセッサマクロを使用して、完了しなければならない単体テストをマークすることです。そうすることで、単体テストをコンパイルした後、実行する必要のある将来の作業の概要を把握できます。これは警告パネルに表示されるため、TODOコメントを使用するよりもはるかに魅力的です。

ただし、不完全なテストの総数を取得し、ログレポートの常に「予期しない」カウントの意味を調べたいと思います。

于 2012-12-06T10:47:34.573 に答える