Stutter Gradle插件无法执行兼容性测试的问题求助
Stutter Gradle插件兼容性测试无测试执行问题排查
一、测试类目录结构与源集配置不匹配
Stutter插件对测试源集的识别依赖明确的配置,你复制functionalTest目录后可能存在以下问题:
- 未在
build.gradle中注册compatTest源集,导致Stutter无法找到测试类。需手动添加源集配置:sourceSets { compatTest { groovy { srcDir 'src/compatTest/groovy' } resources { srcDir 'src/compatTest/resources' } compileClasspath += sourceSets.main.output + configurations.testRuntimeClasspath runtimeClasspath += output + compileClasspath } } - Stutter的测试矩阵未关联
compatTest任务,需在stutter块中指定测试任务:stutter { matrices { create('compat') { javaVersions = [13] gradleVersions = ['6.2.1', '8.6'] testTasks = ['compatTest'] } } }
二、JDK自动下载未配置
Gradle 8.x默认不会自动下载JDK,需引入专门的 resolver 插件解决路径警告:
- 在
settings.gradle中添加插件:plugins { id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0' } - 为
compatTest指定Java工具链,确保使用对应版本JDK:tasks.named('compatTest', Test) { javaLauncher = javaToolchains.launcherFor { languageVersion = JavaLanguageVersion.of(13) } }
三、Stutter插件版本与Gradle 8.x不兼容
Gradle 8.x需要适配最新版的Stutter插件,检查build.gradle中的插件版本,确保使用0.7.0及以上版本:
plugins { id 'org.ajoberstar.stutter' version '0.7.0' }
四、测试类继承关系或注解缺失
原functionalTest的测试类通常继承PluginFunctionalTest这类Gradle插件测试基类,重命名测试类时需确保保留该继承关系,否则Stutter无法识别为有效测试类。
内容的提问来源于stack exchange,提问作者18446744073709551615
相关产品推荐
相关产品推荐

