2009-03-28 18 views

答えて

9

VerifyAllとVerifyは、いくつかのメソッドが呼び出されたことを確認するために使用されます(また、呼び出されたパラメータを検証する可能性があります)。これは "相互作用ベースのテスト"とみなされ、テスト対象システムがその依存関係の1つでメソッドを呼び出すことを確認する場合に使用されます。

アサートとは、通常、返される値が正しい値であることを確認することを意味します。アサーションは、「状態ベースのテスト」と呼ばれるものに使用されます。これは、テスト対象のシステムが動作した後の状態を本質的に検証しています。

verifyall、check out this

また、Mock and Stubを区別します。

3

私はVerifyAllがレコードステップと再生ステップを持つRhinoMockを使用する古いスタイルに属していると考えています。その後、すべてのExpectationsを検証します。このモデルでは、レコードステップ中に期待値を設定します(たとえば、このメソッドがパラメータx、y、zなどで呼び出されることを期待します)。

新しいバージョンのRhinoMocksは、好ましいパターンとしてArrange-Act-Assert (AAA)の構文を導入しました。このパターンを使用すると、テストメソッドの最後にアサーションを使用する方が理にかなっています。 VerifyAllExpectations()を使用することはまだ可能ですが、個人的には、テストの最後にすべてのアサーションがブロック内で発生すると読みやすいと思います。

私は答えが(私にとにかく)個人的な好みであるということだと思います。彼が同じテストのいくつかの例を持っている上のリンクを見て、あなたに一番よく読んだものを選んでください。