2010-12-10 1 views
5

Kennt jemand das Äquivalent von Moq It.IsAny<T> in FakeItEasy?wie man It.IssAny <T> in FakeItEasy?

ich, dass ein Verfahren geltend machen wollen mit einer Instanz eines Typ

v.Do(new Foo()); 

Ich versuchte genannt wurde:

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

aber auch akzeptiert v.Do();

Antwort

10

Sie haben Recht in der A<Foo>.Ignored (oder A<Foo>._) ist das Äquivalent von It.IsAny<Foo> in Moq.

Es scheint, dass Sie einen Fehler gefunden haben, wenn das, was Sie sagen, tatsächlich korrekt ist. Ich werde so schnell wie möglich weitermachen.

EDIT Ich habe die folgenden Integrationstest den Fehler reproduziert, aber der Test bestanden wird so zu reproduzieren, ich bin nicht in der Lage, könnten Sie ein Codebeispiel zur Verfügung stellen?

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