【发布时间】:2019-06-25 14:41:03
【问题描述】:
有没有办法编写单元测试以确保如果某个 bean 创建失败,spring boot API 不会启动。例如:未能创建数据源 bean。
【问题讨论】:
-
如果 bean 创建失败,除非有条件处理,否则 Spring Boot 根本不会启动。是否要覆盖单元测试中的 bean 定义以实现此目的?
-
要求是编写测试以确保如果 bean 创建失败,spring boot 将不会启动,有没有办法做到这一点?
-
如果您想检查某个 bean,您可以在 baeldung.com/spring-boot-testing 进行类似示例 7 的测试,然后将所需的 bean 自动装配到您的测试中,然后断言它不为空。或者,您可以点击 /beans 端点并按名称检查 bean。但是,这是在测试 Spring 框架而不是您的代码。您应该质疑为什么这是一个要求,因为这听起来像是一种误解。如果您尝试编写一个测试来证明服务器不可能在没有 bean 的情况下启动,那是不可能的。测试可以证明错误,但不能证明没有错误。
-
您能否为您遇到的问题创建一个最小(如果需要合成)示例?
-
感谢所有有用的回复,我能够使用此链接找到解决方案 - stackoverflow.com/questions/31692863/…
标签: java unit-testing spring-boot spring-test