【发布时间】:2020-01-26 11:41:22
【问题描述】:
编辑:问题已解决,因为我注意到:
-
itest没有运行,因为test阶段有一些错误,所以下一步itest将不会继续 -
itest也适用迁移,我已经仔细检查了日志并且可以确认。我搜索itest日志flyway,我看到了。
所以这个问题是一个错误。对不起。
我有资源集:
- 主要
- 测试
- 测试
而itest 的定义如下:(project/gradle/integration.gradle)
sourceSets {
itest {
java.srcDir file('src/itest/java')
resources.srcDir file('src/itest/resources')
compileClasspath += sourceSets.main.output + sourceSets.test.output
compileClasspath += configurations.testCompileClasspath
compileClasspath += configurations.testRuntimeClasspath
runtimeClasspath += output + compileClasspath + test.output
annotationProcessorPath += configurations.testAnnotationProcessor
}
}
task itest(type: Test) {
description = 'Runs the integration tests.'
group = 'verification'
testClassesDirs = sourceSets.itest.output.classesDirs
classpath = sourceSets.itest.runtimeClasspath
mustRunAfter test
useJUnitPlatform()
}
当我运行 gradle test itest 时,我看到应用了迁移,但当我运行 gradle itest 时,它们没有。我明白,如果我在test 之后强制执行itest,就像现在这样,我可以保证;但有时间我只想运行itest。
如何更改此脚本?
【问题讨论】:
-
您如何为正常的测试任务应用迁移?您可能必须为 itest 做同样的事情。
-
是的,但在
build.gradle中,这不是flywayMigrate部分。所以我不知道怎么做。 -
@BjørnVester 对不起,我忘了说我用的是 Spring Boot,所以有
FlywayAutoconfiguration。
标签: gradle integration-testing flyway