Mockito Injizieren mock in Spion-Objekt

Schreibe ich einen test für eine Klasse hat eine 2 Ebene von dependency injection. Ich benutze @Spy-Anmerkung für die 1-level-dependency injection-Objekt, und ich würde gerne Spotten die 2. Ebene der Injektion. Allerdings habe ich immer null-Zeiger-Ausnahme auf der 2. Ebene. Gibt es eine Möglichkeit, dass ich Spritzen die mock in den @Spy-Objekt?

public class CarTestCase{
    @Mock
    private Configuration configuration;

    @Spy 
    private Engine engine;

    @InjectMocks 
    private Car car;

    @Test
    public void test(){

       Mockito.when(configuration.getProperties("")).return("Something");
       car.drive();
    }

}

public class Car{
    @Inject
    private Engine engine;

    public void drive(){
        engine.start();
    }
}

public class Engine{
    @Inject 
    private Configuration configuration;

    public void start(){
        configuration.getProperties();   //null pointer exception
    }

}
haben Sie initialisiert mocks mit MockitoAnnotations.initmocks(this)
Nein, aber wie verhält die sich zu dieser Frage?
gut, dass macht Mockito tun, was er tun soll mit Objekten annotiert @Spy, @Mock, @InjectMocks etc, so dass, wenn Sie dies tun, nach dem Bau der car verspottet eingefügt werden soll....
Ich habe versucht, legen Sie die MockitoAnnotations.initmocks(dies) der Beginn der von der test-Funktion, aber es funktioniert immer noch nicht
Hast du auch versuchen, Annotation-Engine mit @InjectMocks?

InformationsquelleAutor Wildchild | 2017-05-11

Schreibe einen Kommentar