2010-12-10 12 views
5

SahteItEasy'de hiç kimseeşdeğerini biliyor mu?Nasıl It.IsAny <T> FakeItEasy içinde?

Bir yöntem denedim bir Tip

v.Do(new Foo()); 

örneği ile çağrıldı iddia yapmak istiyorum

:

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

ancak bu da v.Do() kabul;

cevap

10

Hak ederseniz, A<Foo>.Ignored (veya A<Foo>._), Maliye'deki It.IsAny<Foo> eşdeğeridir.

Söyledikleriniz doğruysa, bir hataya çarptığınız anlaşılıyor. En kısa sürede başaracağım.

DÜZENLEME Ben hata çoğaltılabilir için aşağıdaki entegrasyon testi yarattı fakat test bir kod örneği verebilir, bunu çoğaltmak mümkün değilim böylece geçer?

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