回答:
補遺:他の回答が述べているように、の目的は.Verifiable
、Setup
をVerify(...)
介してトリガーできる一連の「据え置き呼び出し」にa を参加させることmock.Verify()
です。
OPの明確化により、これが目標であり、唯一の問題はそれが機能しなかった理由を解明することでしたが、@ Liamが主張したように、答えもこれに本当に触れるべきです:-私ができる限りの主要なユースケース参照してください:
mock.Setup()
との間の乾燥度の維持mock.Verify
Verify
呼び出し自体から検証の構成を切断できるようにする(たとえば、別のヘルパーメソッドで設定することができます)...そして私の回答に要約すると、「上記のプロは一般に、これらの目標を達成することは、そのような構成に頼りすぎるテストの読みやすさと保守性に与える影響よりも重要であると考えられているので注意してください」
オリジナル:可能であれば、代わりにAAAレイアウトに従う必要があるため、作業が完了した後に、可能な限りorまたは(クレジット:@kzu)とペアにするのではなく、明示的なmock.Verify( expression )
呼び出しを行うmock.Setup( ... ).Verifiable()
mock.Verify()
mock.VerifyAll()
必要があります。
Verifyable()
/の利点をまだ確信していませんVerifyAll()
。私の現在の単体テストには、多数のSetup(...)
呼び出し(> 30)があります。規約を満たすために、それぞれを同等のVerify()と一致させることができますが、これにより大量のコードの重複が発生し、単体テストの数が増えるにつれて維持および読み取りが難しくなります。私が本当に求めているのは、セットアップが多数ある場合に例外を作成できるか、または厳格Verifiable()
で高速なルールを回避することですか?
Setup
とaの間Verify
では、AAAおよび強く