に予期しないMatcherの引数をスロー:NSubstituteテストは、それ自体で動作しますが、私はいくつかのサンプルデータを返すために.Returnsを()を使用するユニットテストを持っているスイート
[TestMethod]
public void TestRetrieveElementsInVersion()
{
IRetrieveElementSequence component = Substitute.For<IRetrieveElementSequence>();
List<UnconstructedElement> list = new List<UnconstructedElement>
{
new UnconstructedElement{Version = "1"},
new UnconstructedElement{Version = "2"}
};
component.RetrieveElements().Returns(list); // exception reported here
const string target = "1";
IRetrieveElementSequence service = new RetrieveElementsInAVersion(component, target);
IList<UnconstructedElement> result = service.RetrieveElements();
bool check = result.All(e => e.Version == target);
Assert.IsTrue(check);
}
このコードは、使用してVisual Studioで渡しますReSharperランナー、テストが単独で実行されるとき。ソリューションからすべてのテストを実行するときなど、リストの一部として実行されると失敗します。
NSubstitute.Exceptions.UnexpectedArgumentMatcherException:引数マッチャ(Arg.Is、Arg.Any)は、メンバ引数の代わりに使用する必要があります。 Return()ステートメントまたはメンバー呼び出し外のどこでも使用しないでください。
Arg.AnyまたはArg.Iを使用している場所が表示されません。 NS substituteが文句を言うのは何ですか?これは、.Returns()を使用して非ネイティブオブジェクトのリストを返すときに発生します。
Arg.Anyが、失敗したテストの直前のテストで誤って使用されていました。ありがとうございました。 –