Do czego służy manekin w FakeItEasy? Czym różni się od A.Fake lub A.Ignored?Co to jest manekin używany w FakeItEasy?
Dzięki :-)
Do czego służy manekin w FakeItEasy? Czym różni się od A.Fake lub A.Ignored?Co to jest manekin używany w FakeItEasy?
Dzięki :-)
obojętne nie jest naprawdę do niczego przez samego FakeItEasy, jest jedynie sposobem na tworzenie fikcyjnych przypadków, które można wykorzystać w badaniach.
Na przykład, powiedzmy, że chcesz przetestować następujące klasy:
public class Foo
{
public void Bar(DateTime someDate);
}
Teraz w jednym z testów, który chcesz wywołać metodę bar, ale wartość, która jest przekazywana do niego nie jest ważne testy, zamiast pisać:
foo.Bar(new DateTime(2000, 1, 1));
można napisać:
foo.Bar(A.Dummy<DateTime>());
sygnalizuje, że wartość naprawdę nie jest ważna dla testu, więc cały powód jej użycia jest lepszy w intencji komunikowania się.
@ Odpowiedź Popatara Hägne'a opisuje, w jaki sposób użytkownicy mogą używać manekina, ale jest jeszcze jedna część tej historii. FakeItEasy korzysta z Dummies.
Kiedy FakeItEasy musi utworzyć instancję klasy Fake (lub czasami inną instancję klasy Dummy) przez wywołanie jednego z konstruktorów klasy, a konstruktor pobiera argumenty, użyje on Dummies dla argumentów.
Zachęcam do zapoznania się z Dummies documentation.
To wciąż brzmi jak Zignorowany do mnie. Jaka jest różnica w użyciu? – cecilphillip
Próbowałem tego sam; używanie A.Dummy <> w A.CallTo(). MustHaveHappened() nie powoduje przyjęcia żadnej wartości jak A <>. Poza tym, nie wiem. –
Nie mogę naprawdę zobaczyć, co jest niejasne. Zdajesz sobie sprawę, że klasa Foo w powyższej klasie jest testowana, a nie fałszywe? A.Dummy tworzy fałszywą wartość, to wszystko. Nie można go używać podczas konfigurowania połączeń. –