2009-08-25 15 views
5

私はNUnitののモックを使用していると私が電話を期待するが、引数は、たとえばだろう何も言わずにいることを指定したいと思います:NUnit Mocks Expectコールの引数としてANYTHINGを指定する方法はありますか?

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

が明らかに代わりANY_ARGUMENTの正しい構文を埋めます。

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

私は引数を指定しない場合 - それは0の引数を期待しますがリフレクターでnunit.mocks.dllのバージョン2.5.2を見てみると1

+0

このトピックのアップデートはありますか? – yeyeyerman

答えて

2

を受けたので、NUnitのテストを失敗し、それがあります表示されません。あなたが探していることをする方法。 NUnitはオープンソースなので、コードを取得して機能を追加することができます。

0

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

例:

myMock.ExpectAndReturn( "mockedMethod"、引数1、新しいAcceptsAnythingConstraint())

1

あなたが試してみました:

mock.SetReturnValue(true); 
mock.Expect("Equals"); 
2

をはいNUnitのモックでは、このような機能があります。

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

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

関連する問題