使用autowire的JUnit for Spring bean?

时间:2011-05-05 17:11:35

标签: java spring junit

以下是代码:

public class Customer 
{
    @Autowired
    private Person person;
    //some business logic using person object
}

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

谢谢!

1 个答案:

答案 0 :(得分:8)

听起来像你在思考它。

我不会嘲笑业务对象模型;当你不想进行集成测试时,那就是基于接口的类。

我不会将Person注入JUnit测试中;我只需调用“new”,实例化适合我测试的内容,然后继续使用它。

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