【发布时间】:2015-12-11 07:06:41
【问题描述】:
我想完成这个 - 运行一个后台进程(实际上是一个 Solr 实例),我的 JUnit Suite 中的所有测试都将使用它。
为此 - 创建了一个带有 @RunWith(Suites.class) 注释的 JUnit 类。并在套件上添加了ClassRule 以启动和停止服务器。套件中的各个测试使用@SpringApplicationConfiguration 和@RunWith(SpringJunit4ClassRunner.class) 进行注释。而且我还需要访问套件本身中的一些 Bean(例如 spring 管理的设置 bean)。最好的方法是什么。我试过了。
- 使用
@SpringApplicationConfiguration注释的单个测试 - 让套件通过创建
ApplicationContextSpringApplication.run并访问它想要的任何 bean(弹簧 例如,托管的 Settings bean 并使用它的 ClassRules 之一 这个套件)。
我观察到ApplicationContext 上下文每次都会创建,一个用于套件,因为我调用了SpringApplication.run,每个测试都有一个。我显然想避免这种情况,并且在测试运行之间缓存ApplicationContext 在这种情况下似乎也不起作用。
那么处理这种情况的最佳做法是什么。 任何建议/建议将不胜感激。
【问题讨论】:
-
春天的人们:有什么建议吗?
标签: spring spring-boot junit4