java - AppContext 中具有相同名称和相同类的两个 bean(其中一个被 mock )

标签 java spring mocking

我有两个同名、同类的 bean。我想模拟其中一个(模拟不是通过@Mock注释完成的,而是由于某种原因在Spring文件中完成的),而另一个则保持正常(用于集成测试)。

我能想到的一种方法是更改​​ @ContextConfiguration 的位置属性中的资源文件,并加载单独的配置以进行单元测试和集成测试。

还有其他方法可以完成这个任务吗?

我知道存在一些问题,例如为什么不使用@Mock?为什么要有两个相同类和相同bean的bean?但我无法改变这一点因为有些部分已经存在,我不想改变它。

谢谢

最佳答案

当需要用于不同目的时,我有单独的配置文件。一种场景用于测试,另一种场景用于生产。我同意你的第一个想法。

关于java - AppContext 中具有相同名称和相同类的两个 bean(其中一个被 mock ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12911317/

相关文章:

java - onTouchListener 一个ImageView需要点击两次才能起作用,另一个只需点击一次

java - StreamEx.parallel().forEach() 在 .map() 之后不并行运行

spring - 使用 aws ecs 运行图像会抛出 504 网关超时

asp.net - 直接使用 HttpContext 是一件坏事吗?

spring - 如何使用 Dbunit 测试没有 Hibernate 实体的表的 Dao

javascript - Angular 单元测试 : Uncaught Error: Uncaught (in promise): Error: Cannot match any routes. URL 段: 'logout'

java - 当父类中的 protected (或抽象)方法被删除并且子类已实现它时,如何导致编译错误/警告

java - 当温度更新时更新java中gui上的jlabel温度

css - Springboot - 资源解释为样式表但以 MIME 类型文本/html 传输

spring - spring中null自动转为空列表