5

私はNUnitモックを使用しており、呼び出しを期待することを指定したいと思いますが、引数が何であるかは言うまでもありません。たとえば、次のようになります。

mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT);

明らかに、ANY_ARGUMENTの代わりに正しい構文を入力します。

これを行う方法はありますか?

引数を指定しない場合-NUnitは0個の引数を期待していましたが、1個を受け取ったため、テストに失敗しました。

4

4 に答える 4

2

Reflectorのnunit.mocks.dllのバージョン2.5.2を見ると、探していることを実行するメソッドがあるようには見えません。NUnitはオープンソースであるため、1つのオプションは、コードを取得して機能を追加することです。

于 2009-08-27T23:26:48.773 に答える
2

はい、NUnitMocksにはそのような機能があります。

ExpectAndReturnの代わりにSetReturnValueを使用します。最初の関数は、その名前が示すように、入力オブジェクトと戻りオブジェクトを指定します。最後の関数は、特定の関数の戻りオブジェクトを指定するだけです。

使用する:interfaceMock.SetReturnValue("SomeRetrunFunction", someReturnFunction);

于 2011-01-19T08:09:00.807 に答える
1

やってみました:

mock.SetReturnValue(true);
mock.Expect("Equals");
于 2010-12-16T11:45:13.630 に答える
0

何でも受け入れるIResolveConstraintの新しいインスタンスを実装し、それをテストのパラメーターとして使用できます。NUnitは、IResolveConstraintのインスタンスを他のオブジェクトとは異なる方法で処理し、Assert.AreEqualの代わりにAssert.Thatを使用して、その正当性を検証します。

例えば。

myMock.ExpectAndReturn( "mockedMethod"、argument1、new AcceptsAnythingConstraint())

于 2010-06-22T12:21:24.230 に答える