2010-12-10 8 views
5

Czy ktoś zna odpowiednik Moq It.IsAny<T> w FakeItEasy?jak to zrobić.IsAny <T> w FakeItEasy?

chcę zrobić twierdzą, że metoda została wywołana z instancji danego typu

v.Do(new Foo()); 

próbowałem:

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

ale przyjmuje również v.Do();

Odpowiedz

10

Masz rację w A<Foo>.Ignored (lub A<Foo>._) jest odpowiednikiem It.IsAny<Foo> w Moq.

Wygląda na to, że trafiłeś w błąd, jeśli to, co mówisz, jest poprawne. Zajmę się tym jak najszybciej.

EDIT stworzyłem następujący test integracyjny do powielana bug ale test przechodzi, więc nie jestem w stanie go odtworzyć, można dostarczyć próbkę kodu?

[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); 
} 
Powiązane problemy