在我们的项目中,我们通过覆盖IntegrationTest
注释中的属性来设置集成测试,如下所示:
@RunWith(SpringJunitClassRunner.class)
@IntegrationTest("server.port:0",
"health.hystrix.enabled:false"
.... other properties ....
)
@ActiveProfile("local","no-swagger")
public class IntegrationTest{
}
但是在spring-boot 1.4 @IntegrationTest
注释已被弃用。 Spring文档建议使用@SpringBootTest
注释。
我的问题是如何用这个新的注释覆盖属性?
答案 0 :(得分:3)
我的理解from the docs是您可以覆盖@SpringBootTest
内的属性。
@SpringBootTest
注释还具有属性属性 可用于指定应该具有的任何其他属性 在环境中定义。现在正在加载属性 与Spring的常规@TestPropertySource
注释相同。
And also the javadoc of @SpringBootTest
says:
@AliasFor(value="value")
形式为
public abstract String[] properties
key=value
的属性应添加到Spring中 测试运行前的环境。
返回:要添加的属性
因此,只需覆盖@SpringBootTest
注释中的属性即可。
@SpringBootTest(properties={"server.port=0"})