java - 使用模拟嵌套 Bean 进行 Spring Boot 1.3 测试
问题描述
我正在尝试编写一个集成测试来测试具有嵌套依赖注入的类 A。所以我最终想注入 C 类的模拟。
我知道 Spring Boot 1.4 中可用的注释 @MockBean 但我的硬性要求是带有 Java 7 的 Spring Boot 1.3。
有人可以帮助我如何模拟嵌套依赖项吗?
public class A {
@Autowired
private B b;
private void run() {
b.run();
}
}
public class B {
@Autowired
private C c;
private void run() {
c.run();
}
}
public class C {
private void run() {
//some action
}
}
public class Test {
@Autowired
private A a;
@Test
private void runTest() {
a.run();
}
}
解决方案
在 Test 上下文中创建一个相同类型的 Mock bean 并将其标记为 Primary。
推荐阅读
- autodesk-forge - 如何在 Autodesk Forge 查看器中聚合多个地理定位模型
- java - javax.xml.transform.Transformer的Transformer如何抑制对html文本框编码值的解码
- .net-core - Ocelot 发布请求未通过
- git - 推送到 GitHub,如何用敏感信息替换配置文件?
- django - 如何将图像上传到 Django
- html - 全屏宽度的卡盒 - 引导程序
- sql - 使用某些条件匹配模式并使用 Oracle 中的 regexp_replace 将其替换为某个字符串
- python - 将单线从 Numpy Python 转换为 Julia,其中涉及将一个 2D 数组映射到另一个 2D 数组
- drawing - Use clipboard images to draw paths that repeat over entire length of the line
- azure-data-factory - 将文件从一个区域复制到其他区域 - Azure Data Lake Gen2