1
私は単体テストにNUnitとNS代用を使用します。NS substituteは使用する引数の仕様を決定できません
public interface IDataProvider
{
void Log(int tvmId, DateTime time, int source, int level, int eventCode, string message);
}
...
var fakeDataProvider = Substitute.For<IDataProvider>();
...
fakeDataProvider.Received().Log(
Arg.Any<int>(),
new DateTime(2000, 1, 1),
0,
0,
0,
null);
fakeDataProvider.Received()は、引数の仕様を使用するかを決定することはできませんメッセージをAmbiguousArgumentExceptionをスロー:私は、次があります。私はSO
Cannot determine argument specifications to use
関連しているが、私は上記のコードでそれを適用することができないで、次のを発見しました。なぜ上記のコードはあいまいですか? Received()に何か引数を受け入れるべきであることを他にどのように指定できますか?
ありがとうございました。 Arg.Any <>()は、私が使ったときに例外が投げられただけなので、犯人だと思った。実際には – Drew
です。しかし、この問題はArg.Anyではなく、Arg.Anyを使用したパラメータの型です。同じタイプの他のパラメータがあるので、NSubstituteはあなたがArg.Anyであることを要求したものを知らないので、同じタイプのすべてのパラメータの引数指定を指定する必要があります。 –