2015-11-04 3 views

Odpowiedz

6

Poprzedni styl CALLS_REAL_METHODS tworzy niezainicjowany obiekt; nie są wykonywane żadne konstruktory i nie są ustawione żadne pola. Zasadniczo ta składnia jest niebezpieczna, ponieważ rzeczywiste implementacje będą oddziaływać z niezainicjowanymi polami, które mogą stanowić stan nieprawidłowy lub niemożliwy.

Ten drugi styl @Spy pozwala zadzwonić do wybranego konstruktora, lub Mockito będzie try to call a no-arg constructor if the field is uninitialized. Pola są następnie kopiowane do wygenerowanego Szpiega (który rozszerza typ szpiegowski), umożliwiając znacznie bezpieczniejsze i bardziej realistyczne interakcje.


Requisite przypomnienia: w rzeczywistości nie pozorowanych kolekcje Java poza przykładów zabawek, i nie zapomnij użyć doReturn składni gdy nadrzędne szpiegów i CALLS_REAL_METHOD kpi albo będziesz wywołać prawdziwą metodę w Zaproszeniu when .