私はNUnitモックを使用しており、呼び出しを期待することを指定したいと思いますが、引数が何であるかは言うまでもありません。たとえば、次のようになります。
mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT);
明らかに、ANY_ARGUMENTの代わりに正しい構文を入力します。
これを行う方法はありますか?
引数を指定しない場合-NUnitは0個の引数を期待していましたが、1個を受け取ったため、テストに失敗しました。
私はNUnitモックを使用しており、呼び出しを期待することを指定したいと思いますが、引数が何であるかは言うまでもありません。たとえば、次のようになります。
mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT);
明らかに、ANY_ARGUMENTの代わりに正しい構文を入力します。
これを行う方法はありますか?
引数を指定しない場合-NUnitは0個の引数を期待していましたが、1個を受け取ったため、テストに失敗しました。
Reflectorのnunit.mocks.dllのバージョン2.5.2を見ると、探していることを実行するメソッドがあるようには見えません。NUnitはオープンソースであるため、1つのオプションは、コードを取得して機能を追加することです。
はい、NUnitMocksにはそのような機能があります。
ExpectAndReturnの代わりにSetReturnValueを使用します。最初の関数は、その名前が示すように、入力オブジェクトと戻りオブジェクトを指定します。最後の関数は、特定の関数の戻りオブジェクトを指定するだけです。
使用する:interfaceMock.SetReturnValue("SomeRetrunFunction", someReturnFunction);
やってみました:
mock.SetReturnValue(true);
mock.Expect("Equals");
何でも受け入れるIResolveConstraintの新しいインスタンスを実装し、それをテストのパラメーターとして使用できます。NUnitは、IResolveConstraintのインスタンスを他のオブジェクトとは異なる方法で処理し、Assert.AreEqualの代わりにAssert.Thatを使用して、その正当性を検証します。
例えば。
myMock.ExpectAndReturn( "mockedMethod"、argument1、new AcceptsAnythingConstraint())