我正在测试代码中的一行,该行应该在加载Spring Boot应用程序上下文时导致失败。但是,使用@SpringBootTest
在这种情况下将无济于事,因为应用程序初始化会(预期)失败,并且永远无法达到测试方法。
@SpringBootTest
class SomeTestClass {
@Autowired
ApplicationContext applicationContext
@Test
void someTestCase() {
//some assert about application context
}
}
是否有任何方法可以配置@SpringBootTest
,使其在类级别上可以保留下来?另外,是否有任何方法可以手动运行仅受影响组件的小型Spring Boot应用程序?
答案 0 :(得分:-1)
如果我正确理解了您的问题,则应该使用SpringRunner。
SpringRunner支持加载Spring ApplicationContext并将bean @Autowired插入测试实例。实际上,它的功能远远超出了“ Spring参考手册”中的内容,但这是基本思想。
因此您可以像这样添加它:
@RunWith(SpringRunner.class)
@SpringBootTest
class SomeTestClass {
@Autowired
ApplicationContext applicationContext
@Test
void someTestCase() {
//some assert about application context
}
}