如何通过Gradle命令运行指定目录下的单个及多个集成测试?
解决Gradle集成测试执行问题及命令用法
第一步:让Gradle识别testsuites目录的集成测试
默认Gradle的test任务仅扫描标准测试目录(如src/test/java),你的testsuites目录不在默认范围内,需先在项目根目录的build.gradle(或build.gradle.kts)中配置集成测试源集与任务:
Groovy DSL 配置示例
sourceSets { integrationTest { java { srcDir file('testsuites') // 指定testsuites为集成测试源目录 compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output } } } task integrationTest(type: Test) { description = 'Runs integration tests.' group = 'Verification' testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath reports { html.required = true // 生成HTML测试报告 junitXml.required = true // 生成JUnit XML报告 } } // 让check任务依赖集成测试,执行check时会同时运行单元测试与集成测试 check.dependsOn integrationTest
Kotlin DSL 配置示例
sourceSets { create("integrationTest") { java { srcDir("testsuites") compileClasspath += sourceSets.main.get().output + sourceSets.test.get().output runtimeClasspath += sourceSets.main.get().output + sourceSets.test.get().output } } } val integrationTest by tasks.registering(Test::class) { description = "Runs integration tests." group = "Verification" testClassesDirs = sourceSets["integrationTest"].output.classesDirs classpath = sourceSets["integrationTest"].runtimeClasspath reports { html.required.set(true) junitXml.required.set(true) } } tasks.check { dependsOn(integrationTest) }
第二步:执行单个集成测试类
配置完成后,运行单个集成测试类(如com.x.y.aTest)的命令:
./gradlew integrationTest --tests com.x.y.aTest
注意:确保类名大小写与实际Java类一致(通常首字母大写,如ATest而非aTest)。
第三步:执行多个集成测试类
方式1:指定多个全限定类名
用--tests参数逐个指定,逗号分隔或重复参数:
./gradlew integrationTest --tests com.x.y.aTest --tests com.x.y.bTest
方式2:按包路径批量匹配
匹配同一包下所有集成测试类:
./gradlew integrationTest --tests com.x.y.*
方式3:按类名规则匹配
匹配所有以Test结尾的集成测试类:
./gradlew integrationTest --tests "*Test"
或匹配前缀为a/b的测试类:
./gradlew integrationTest --tests "com.x.y.a*Test" --tests "com.x.y.b*Test"
注意事项
- 测试类的全限定名(包+类名)必须完全正确,包括大小写
- 多模块项目需在对应子项目中配置集成测试源集,执行时可指定子项目任务,如
:moduleName:integrationTest --tests ...
内容的提问来源于stack exchange,提问作者Kpras
相关产品推荐
相关产品推荐

