質問
誰かがMOQに相当することを知っていますか It.IsAny<T>
FakeIteasyで?
タイプのインスタンスでメソッドが呼び出されたと主張したい
v.Do(new Foo());
私は試した:
A.CallTo(() => v.Do(A<Foo>.Ignored)).MustHaveHappened();
しかし、これも受け入れます v.Do()
;
解決
あなたは正しいです A<Foo>.Ignored
(また A<Foo>._
)と同等です It.IsAny<Foo>
Moqで。
あなたが言うことが実際に正しい場合、あなたはバグにヒットしたようです。できるだけ早く乗ります。
編集バグを再現するために次の統合テストを作成しましたが、テストは合格しますので、それを再現することができません、コードサンプルを提供できますか?
[Test]
public void Should_fail_assertion_when_overload_with_no_parameters_has_been_called_but_the_assertion_is_for_overload_with_parameters_but_ignoring_them()
{
// Arrange
var fake = A.Fake<ITypeWithOverloadedMethods>();
// Act
fake.Foo();
// Assert
Assert.Throws<ExpectationException>(() => A.CallTo(() => fake.Foo(A<int>._)).MustHaveHappened());
}
public interface ITypeWithOverloadedMethods
{
void Foo();
void Foo(int argument);
}
所属していません StackOverflow