Rhino Mockを使用する場合、 "VerifyAll"を使用するのが適切な場合はいつ、 "Asserts"を行うべきですか?Rhino Mock: "Assert"と "Assert"
答えて
VerifyAllとVerifyは、いくつかのメソッドが呼び出されたことを確認するために使用されます(また、呼び出されたパラメータを検証する可能性があります)。これは "相互作用ベースのテスト"とみなされ、テスト対象システムがその依存関係の1つでメソッドを呼び出すことを確認する場合に使用されます。
アサートとは、通常、返される値が正しい値であることを確認することを意味します。アサーションは、「状態ベースのテスト」と呼ばれるものに使用されます。これは、テスト対象のシステムが動作した後の状態を本質的に検証しています。
verifyall、check out this。
また、Mock and Stubを区別します。
私はVerifyAllがレコードステップと再生ステップを持つRhinoMockを使用する古いスタイルに属していると考えています。その後、すべてのExpectationsを検証します。このモデルでは、レコードステップ中に期待値を設定します(たとえば、このメソッドがパラメータx、y、zなどで呼び出されることを期待します)。
新しいバージョンのRhinoMocksは、好ましいパターンとしてArrange-Act-Assert (AAA)の構文を導入しました。このパターンを使用すると、テストメソッドの最後にアサーションを使用する方が理にかなっています。 VerifyAllExpectations()を使用することはまだ可能ですが、個人的には、テストの最後にすべてのアサーションがブロック内で発生すると読みやすいと思います。
私は答えが(私にとにかく)個人的な好みであるということだと思います。彼が同じテストのいくつかの例を持っている上のリンクを見て、あなたに一番よく読んだものを選んでください。
- 1. Rhino Mock Assertプロパティセッターが正しいオブジェクトタイプで呼び出されました
- 2. Rhino Mock、VerifyAllExpectations
- 3. JUnit Assert#assert Hamcrestに相当する
- 4. NUnit:Dictionary Assert
- 5. ExpectedException Assert
- 6. std :: assert
- 7. Coq:Admit assert
- 8. Rhino Mockとデバッグモード?
- 9. @Assert \ NotBlank Not working
- 10. Qt5 - ASSERT: "bytesTransferred == writeChunkBuffer.size()"
- 11. ASSERTは2015
- 12. Assert in Selenium
- 13. ASSERT: "allArguments.size()== origArgc"
- 14. Raise TryとAssertの違い
- 15. Rhino Mockを使用した単体テスト
- 16. Tensorflow R0.12 softmax_cross_entropy_with_logits ASSERTエラー
- 17. Selenium WebDriver - Ruby Assertステートメント
- 18. 'assert_not user.valid?' vs. 'assert user.invalid?'
- 19. Assert xs:double with INF failed
- 20. assertステートメントでのデバッグ
- 21. NUnit Assert AreEqual strings diff
- 22. Rhino MockでHttpPostedFileBaseを嘲笑します
- 23. TestngのAssert Array Equalsメソッド
- 24. のJavaのassert(false)を
- 25. assertオプションパラメータ付きメソッドのレイアース
- 26. forループ内のC++ EXPECT_EQ&ASSERT
- 27. AssertとNULLポインタの検証の使用
- 28. ユニットテストとAssert http.get queryStringコールをAngular2で
- 29. Rhino Mockの模擬クラス
- 30. Rhino Mock for ASMX Webサービス