2012-07-13 14 views
5

Podobny do this question about NSubstitute, chcę wiedzieć, czy ktoś jest w stanie zaimplementować częściowe mocks przy użyciu biblioteki FakeItEasy.Czy FakeItEasy wspiera ideę Partial Mocks?

Wygląda na to, że FakeItEasy ma ogólnie ładniejszą składnię niż moq (podobnie jak silnie typowany sposób, w jaki pierwszy z nich przekazuje parametry do konstruktora sfałszowanej klasy). Zastanawiam się nad przejściem na FakeItEasy, ale naprawdę potrzebuję częściowego wsparcia próbnego.

Odpowiedz

6

Yes. Składnia nie różni się od zwykłej fałszywe:

var fake = A.Fake<Fake>(); 
A.CallTo(() => fake.SomeMethod()).CallBaseMethod(); 

Lub, aby zastąpić wszystkie połączenia z połączeń bazowych:

var fake = A.Fake<Fake>(); 
A.CallTo(fake).CallBaseMethod(); 

Edit właśnie zrobić jasne: fałszywy obiekt musi być tworzone przez betonu klasa.

+0

To świetnie, dzięki. – rsenna

+1

Potrzebowałem użyć var ​​fake = A.Fake (); (konkretny obiekt zamiast interfejsu) i sprawić, że SomeMethod stanie się wirtualny, zanim go uruchomię (v 1.8.0). – Aligned

+0

@Aligned: masz rację, fałszywy obiekt musi zostać utworzony nad konkretną klasą. Będę edytować odpowiedź jimmy_keen, aby to wyjaśnić. – rsenna