の目的はVerifiable()
何ですか?
a を検証してMock
これを省略しても、 は検証されSetUp
ます。
編集:VerifyAll()
すべてが検証される理由をこのように使用していました。Verify()
私のものだけに変更した後、.Verifiable()
SetUp
チェックされていました。
の目的はVerifiable()
何ですか?
a を検証してMock
これを省略しても、 は検証されSetUp
ます。
編集:VerifyAll()
すべてが検証される理由をこのように使用していました。Verify()
私のものだけに変更した後、.Verifiable()
SetUp
チェックされていました。
補遺: 他の回答が述べているように、の目的は、.Verifiable
を介してトリガーできるSetup
一連の「遅延呼び出し」に a を登録することです。Verify(...)
mock.Verify()
OPの明確化により、これが目標であり、唯一の問題はそれが機能しない理由を理解することであったことが明らかになりましたが、@ Liamが提案したように、答えはこれにも実際に触れるべきです:-私ができる限りの主要なユースケース以下を参照してください。
mock.Setup()
aとa の間の DRYness を維持するmock.Verify
Verify
ことができます (たとえば、別のヘルパー メソッドで設定できます)。...そして私の答えに戻ります。これは、「上記の長所は、これらの目標を達成することが、そのような構造に過度に依存するテストの読みやすさと保守性に与える影響よりも重要であると一般に考えられているため、注意してください」と効果的に述べています。
オリジナル: 可能な場合は、代わりにAAAレイアウトに従う必要があることに注意してください。したがって、作業が完了したら、可能な限りorとペアにするのではなく、明示的な呼び出しを行う必要があります (クレジット: mock.Verify( expression )
mock.Setup( ... ).Verifiable()
mock.Verify()
mock.VerifyAll()
@kzu )。
メソッドがテストの最後に呼び出されたときに、Verify()
検証可能とマークされた期待のいずれかが呼び出されていない場合、例外はthrown
です。
VerifyAll()
検証可能な期待をチェックしません。