私は、特定の例外条件が正常に処理されていることを確認するために、私が単体テストしているクラスを持っています。この目的のために、私は例外をスローするために内部的に呼び出されるメソッドを疑似します。Moqを使用して条件付き引数を使用してメソッドをモックする
私のモックのセットアップは次のようになります。
fr.CallBase = true;
fr.Setup(m => m.PutFile(It.IsAny<IFileConnection>(), It.IsAny<string>(), It.IsAny<string>()))
.Throws(new System.IO.IOException("Test Exception", new System.Net.Sockets.SocketException()));
これは私はそれが何をしたいのかを正確に行います。
しかし、ここでは、特定の値に対して例外をスローするだけで連続性をテストしたいと考えています。私はそれが次のようになります考えた:
fr.Setup(m => m.PutFile(It.IsAny<IFileConnection>(), It.Is<string>(a => a == "foo2.txt"), It.IsAny<string>()))
.Throws(new System.IO.IOException("Test Exception", new System.Net.Sockets.SocketException()));
...しかし、これは動作するようには思えません。私は間違って何をしていますか?私は
m.PutFile(It.IsAny<IFileConnection>(), "foo2.txt")
が
これはうまくいくはずです。テストケース全体のコードを投稿できますか? – BishopRook
モックしようとしている関数呼び出しを共有できますか? –
@BishopRook、私はテストを追加しました。 –