You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:56:12