小编Wil*_*ild的帖子

Mockito将模拟注入Spy对象

我正在为一个具有2级依赖注入的类编写测试用例.我使用@Spy注释作为1级依赖注入对象,我想模拟第二级注入.但是,我一直在第二级获得空指针异常.有没有办法将模拟注入@Spy对象?

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
    }

}
Run Code Online (Sandbox Code Playgroud)

java unit-testing dependency-injection mockito

22
推荐指数
4
解决办法
2万
查看次数