有谁知道It.IsAny<T>FakeItEasy 中Moq的等价物?
我想断言用一个Type实例调用一个方法
v.Do(new Foo());
Run Code Online (Sandbox Code Playgroud)
我试过了:
A.CallTo(() => v.Do(A<Foo>.Ignored)).MustHaveHappened();
Run Code Online (Sandbox Code Playgroud)
但这也接受v.Do();
Pat*_*gne 10
你在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);
}
Run Code Online (Sandbox Code Playgroud)