题
有人知道相当的量量吗 It.IsAny<T>
在假性?
我想断言一种方法是用类型的实例调用的
v.Do(new Foo());
我试过了:
A.CallTo(() => v.Do(A<Foo>.Ignored)).MustHaveHappened();
但这也接受 v.Do()
;
解决方案
你在 A<Foo>.Ignored
(或者 A<Foo>._
)等效于 It.IsAny<Foo>
在订单中。
如果您说的实际上是正确的,看来您已经击中了一个错误。我会尽快进行。
编辑我创建了以下集成测试来复制错误,但是测试通过了,所以我无法再现它,您可以提供代码示例吗?
[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