2009-09-18 12 views
6

Moqを使用してかなり複雑なクラスをテストしようとしていますが、問題が発生しています。moq - クラスが例外を取り除いた場合、メソッドの呼び出し方法を確認しません

メソッドが呼び出されないことを確認しようとしていますが、通常これはMockBehavior.Strictを設定することで簡単ですが、クラスには独自のエラー報告メカニズムがありますので、Moqによってスローされる例外。

。テストの最後に.VerifyAllメソッドもうまくいきます。これは本当に変です。これはMoqのバグですか?回避策はありますか?

また、このメソッドでコールバックを設定してAssert.Failを実行しようとしましたが、これもまた飲み込まれるため、テストフレームワーク(VS 2008組み込みテスト)では通知されません。 ..

私はMoq 2.6.1014.1を使用しています。 (まだmoq 3にアップグレードする時間がなかった)

答えて

11

これは恥ずかしいです、私はそれを解決するために管理しました。 VerifyAllが機能しなかった理由を理解していないまだ

mFMXmlC.Verify(f=>f.Put_Queue_Response(It.IsAny<Uri>(), 
             It.IsAny<string>(), 
             It.IsAny<string>(), 
             It.IsAny<object>()), Times.Never()); 

を、これはとにかく法案を合わせているようだ:

3.0では、あなたはこれを行うことができます。他の誰かが似たようなものを探している場合は、私は質問を残しておきます。

+0

http://groups.google.com/group/moqdisc?pli=1に再送信して、バグか予想される動作かどうかを判断してください。 – TrueWill

関連する問題