【问题标题】:how to It.IsAny<T> in FakeItEasy?如何在 FakeItEasy 中使用 It.IsAny<T>?
【发布时间】:2015-01-14 23:58:26
【问题描述】:

有谁知道 FakeItEasy 中的 Moq It.IsAny&lt;T&gt; 的等价物吗?

我想断言一个方法是用一个类型的实例调用的

v.Do(new Foo());

我试过了:

A.CallTo(() => v.Do(A<Foo>.Ignored)).MustHaveHappened();

但这也接受v.Do()

【问题讨论】:

    标签: moq fakeiteasy


    【解决方案1】:

    A&lt;Foo&gt;.Ignored(或A&lt;Foo&gt;._)中的您是对的,在起订量中相当于It.IsAny&lt;Foo&gt;

    如果你说的确实是正确的,你似乎遇到了一个错误。我会尽快处理的。

    编辑 我创建了以下集成测试来重现该错误,但测试通过了,所以我无法重现它,您能否提供代码示例?

    [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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 2014-04-22
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多