![](/img/trans.png)
[英]Spring Boot @MockBeans - How to use the same beans in multiple test classes
[英]Spring Boot Test: How To Use Only Certain Beans?
我有一堆 bean 的 Spring 启动应用程序。 他们的数量每天都在增加。 所以我需要模拟新 bean 的所有时间或测试都会失败。 所以,问题很简单:如何强制 Spring Boot 测试只使用应用程序上下文中的少数特定 bean 而不是全部?
所以,我想通了:你需要在测试包中创建类并点测试类从那里运行 spring,你必须定义需要扫描哪些包的组件。 为此,请使用前缀scanBasePackages
或注释@ComponentScan
("packageForScan")
@SpringBootApplication(scanBasePackages = {"com.domain.folder1.package1","com.domain.folder1.package2"})
public static class CustomApplicationRunner {
public static void main(String[] args) {
SpringApplication.run(CustomApplicationRunner.class, args);
}
}
在测试类中,您必须将此类作为运行应用程序的主要类。
@SpringBootTest(classes = MyTestClass.CustomApplicationRunner.class)
@RunWith(SpringRunner.class)
public class MyTestClass {//tests}
这是您可以包含或排除(使用注释@ComponentScan)添加到应用程序上下文的任何包的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.