smi*_*gfu 5 junit spring-boot spring-boot-test
我有一个 @SpringBootTest,用于在服务器上执行集成测试。根据配置,我希望服务器有不同的行为。配置本身由我的应用程序逻辑深处的 bean (scope = singleton) 读取,它们通过 @Value 注释读取属性。
如何使用不同的配置设置执行相同的测试?我尝试编写不同的测试类并用 @TestPropertySource(properties = XYZ) 注释它们。但这似乎也会影响所有其他测试(由于单例范围?)。有没有办法在测试后重置属性?
重新指定我的问题:我想在测试期间使用不同的 @Value 属性配置我的 bean,并且该值应该仅在整个特定测试执行期间有效。
提前感谢您的指点。
小智 2
我有一个 Web 服务,它通过使用配置中的属性连接到其他 Web 服务的客户端。与任何组织一样,我们有不同的环境。为了进行测试,我想使用测试环境而不是本地。这就是我仅为集成测试覆盖默认属性值的方法。通过这样做,我可以点击测试环境而不是默认的本地环境。
@SpringBootTest(value = {"eureka.client.enabled=false", // Don't start Eureka
"com.somepackage.webservicename.client.serviceUrl = http://nodename.envname:26730"})
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
2606 次 |
| 最近记录: |