【发布时间】:2023-02-16 00:08:57
【问题描述】:
如果错误设置了特定的环境变量,我想测试我的条件配置是否失败。我想要一个设置一些测试环境属性并断言 Spring 上下文无法启动的测试。我怎样才能做到这一点?
Spring Boot提供了@SpringBootTest,但是需要Spring配置正确,我想测试相反的场景。
【问题讨论】:
标签: java spring spring-boot unit-testing
如果错误设置了特定的环境变量,我想测试我的条件配置是否失败。我想要一个设置一些测试环境属性并断言 Spring 上下文无法启动的测试。我怎样才能做到这一点?
Spring Boot提供了@SpringBootTest,但是需要Spring配置正确,我想测试相反的场景。
【问题讨论】:
标签: java spring spring-boot unit-testing
也许这会有所帮助:
class ContextloadApplicationTests {
@Test
void contextLoadsError() {
// set environment variables here
Assertions.assertThrows(UnsatisfiedDependencyException.class, () -> {
ApplicationContext context =
new AnnotationConfigApplicationContext("com.example.contextload");
});
}
}
这将尝试加载 applicationcontext 并预计它是不正确的。
【讨论】:
@SpringBootApplication 的工作方式不同