我想要完成这个 - 运行后台进程(实际上是一个Solr实例),我的JUnit Suite中的所有测试都将使用它。
要执行此操作 - 创建一个使用@RunWith(Suites.class)
注释的JUnit类。并在套件上添加ClassRule
以启动服务器并停止它。套件中的单个测试使用@SpringApplicationConfiguration
和@RunWith(SpringJunit4ClassRunner.class)
进行注释。我还需要访问套件中的一些Beans(如Spring托管设置bean)。什么是最好的方法。我尝试了什么。
@SpringApplicationConfiguration
ApplicationContext
通道
SpringApplication.run
并访问它想要的任何bean(一个春天
例如,托管设置bean并使用它的ClassRules之一
这套房)。我观察到每次都会创建ApplicationContext
上下文,一个用于套件,因为我调用SpringApplication.run
,每次测试都调用一个。{1}}我显然想避免这种情况,并且在这种情况下,测试运行之间的ApplicationContext
缓存似乎也不起作用。
那么处理这种情况的最佳做法是什么? 任何建议/建议将受到高度赞赏。