java - 使用 Autowiring 的 Spring bean 的 JUnit?

标签 java spring junit

这是代码:

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

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

谢谢!

最佳答案

我觉得你想太多了。

我不会模拟业务对象模型;当您不需要集成测试时,这适用于基于接口(interface)的类。

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

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

关于java - 使用 Autowiring 的 Spring bean 的 JUnit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5901615/

相关文章:

java - 如何从数据库中获取电子邮件和密码?我无法在 Spring security 中验证用户

Android Robotium - 如何管理测试用例的执行顺序?

java - 如何创建一个同时在 Google App Engine 和本地 tomcat 服务器上运行的应用程序?

java - 字符串文本中标记的语法错误

spring - 如何在 spring 中流式传输大型 HTTP 响应

Spring Boot Data JPA - 修改更新查询 - 刷新持久性上下文

java.lang.NoClassDefFoundError : Failed resolution of: Lorg/junit/runner/notification/RunListener 错误

java - 使用名称模拟身份验证

java - 为什么在指定类型的HashSets中不能推断出equals?

java - 如何在 Spring 中使用 Maxlength <Form :Input> tag?