使用Spring Profiles运行Gradle任务(集成测试)
需要使用弹簧配置文件通过Gradle运行测试。
gradle clean build
我已添加任务:
task beforeTest() {
doLast {
System.setProperty("spring.profiles.active", "DEV")
}
}
test.dependsOn beforeTest
我的测试定义是:
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("TestProfile")
public class SomeTest {
但此结构不适用于我。
Gradle运行测试。
解决方案
我认为您希望在运行时/测试JVM中设置系统属性,但您在构建时JVM(即Gradle守护进程)中设置的系统属性不正确。
参见Test.systemProperty(String, Object)
例如:
test {
systemProperty 'spring.profiles.active', 'DEV'
}
..。还有关于你尝试的另一张纸条。请注意,任务具有doFirst
和doLast
方法,因此您不需要为您正在尝试的内容单独执行任务。
相关文章