使用autowire的JUnit for Spring bean?

Tar*_*pra 0 java junit spring

这是代码:

public class Customer 
{
    @Autowired
    private Person person;
    //some business logic using person object
}
Run Code Online (Sandbox Code Playgroud)

现在我需要为Customer类编写jUnit测试用例,如何去做?我应该使用Mockito来模拟person对象,然后执行业务逻辑,如果是的话,如何将mocked person对象设置为Customer的属性而不需要任何setter/getter?

谢谢!

duf*_*ymo 8

对你来说听起来就像你在思考它一样.

我不会嘲笑业务对象模型; 当您不想进行集成测试时,这适用于基于接口的类.

我不会注入PersonJUnit测试; 我只需调用" new",实例化适合我测试的内容,然后继续使用它.

如果您的客户必须拥有Person实例,我建议使用构造函数注入.如果必须,您可以通过这种方式传递模拟人员.