Gradle 中的 Quarkus 测试 - 如何处理 test 和 native-test
Quarkus testing in Gradle - How to deal with test and native-test
我有一个 Quarkus 项目,它有一个 test
源文件夹和一个 native-test
文件夹。指导似乎是我会在 native-test
文件夹中进行很多相同的测试(特别是 @QuarkusIntegrationTest
s)。有没有一种方法可以指定在 test
中使用与 native-test
相同的源集?
人们可能希望在另一个源集中进行不同的测试是有道理的,但对我来说,必须跟踪两个源集之间的相同测试似乎很乏味。有没有办法告诉 nativeTest
任务使用来自 test
源集的测试?那是我想要的吗?我是否正确地形象化了这些测试的目的?
我假设我可以在 Gradle 中设置一些脚本,以便在 testNative
运行时将相关测试复制到 native-test
目录,但这感觉很糟糕。
nativeTest
任务继承自 Test
任务,因此您应该可以将其配置为 test
任务。
您可能面临的一个问题是 gradle test
将 运行 @QuarkusIntegrationTest
使用默认包装(这可能需要时间)。
gradle nativeTest
将 运行 所有测试事件 @QuarkusTest
。
在任务配置中使用 include
/ exclude
可能会导致您想要的结果:
nativeTest {
testClassesDirs = project.sourceSets.nativeTest.output.classesDirs
include '**/it/*'
}
test {
exclude '**/it/*'
}
gradle test
将 运行 来自 src/test/java
的所有测试,但 it
包中的测试除外。
gradle nativeTest
只会从 it
包中的 src/test/java
进行 运行 测试。
我有一个 Quarkus 项目,它有一个 test
源文件夹和一个 native-test
文件夹。指导似乎是我会在 native-test
文件夹中进行很多相同的测试(特别是 @QuarkusIntegrationTest
s)。有没有一种方法可以指定在 test
中使用与 native-test
相同的源集?
人们可能希望在另一个源集中进行不同的测试是有道理的,但对我来说,必须跟踪两个源集之间的相同测试似乎很乏味。有没有办法告诉 nativeTest
任务使用来自 test
源集的测试?那是我想要的吗?我是否正确地形象化了这些测试的目的?
我假设我可以在 Gradle 中设置一些脚本,以便在 testNative
运行时将相关测试复制到 native-test
目录,但这感觉很糟糕。
nativeTest
任务继承自 Test
任务,因此您应该可以将其配置为 test
任务。
您可能面临的一个问题是 gradle test
将 运行 @QuarkusIntegrationTest
使用默认包装(这可能需要时间)。
gradle nativeTest
将 运行 所有测试事件 @QuarkusTest
。
在任务配置中使用 include
/ exclude
可能会导致您想要的结果:
nativeTest {
testClassesDirs = project.sourceSets.nativeTest.output.classesDirs
include '**/it/*'
}
test {
exclude '**/it/*'
}
gradle test
将 运行 来自 src/test/java
的所有测试,但 it
包中的测试除外。
gradle nativeTest
只会从 it
包中的 src/test/java
进行 运行 测试。