提问者:小点点

Gradle中的QUUKUS测试-如何处理测试和原生测试


我有一个QUKUS项目,它有一个test源代码文件夹和一个Native-test文件夹。指导似乎是我在Native-test文件夹中会有很多相同的测试(特别是@QUKusIntegrationTests)。有没有办法指定在test中使用与Native-test相同的源代码集?

一个人可能想要在另一个源代码集中进行不同的测试是有道理的,但是对我来说,必须跟踪两个源代码集之间的相同测试似乎很乏味。有没有办法告诉nativeTest任务使用来自test源代码集的测试?这是我想要的吗?我是否正确地可视化了这些测试的目的?

我假设我可以在Gradle中设置一些脚本,以便在testNative运行时将相关测试复制到native-test目录,但这感觉很hacky。


共1个答案

匿名用户

nativeTest任务继承自Test任务,因此您应该能够将其配置为test任务。

您可能面临的一个问题是gradle test将使用默认打包运行@QuarkusIntegrationTest(这可能需要时间)。gradle nativeTest将运行所有测试事件@QuarkusTest

在任务配置中使用include/排除可能会导致您想要的:

nativeTest {
  testClassesDirs = project.sourceSets.nativeTest.output.classesDirs
  include '**/it/*'
}

test {
  exclude '**/it/*'
}

gradle test将运行来自src/test/java的所有测试,排除it包中的测试。gradle nativeTest只会运行位于it包中的src/test/java的测试。