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

Gradle Android测试不支持--tests过滤参数,执行报错未知命令行选项

解决Android Gradle测试时--tests参数报错的问题

我之前也踩过这个坑!出现Unknown command-line option '--tests'的原因是,Android Gradle插件的测试命令结构和标准Gradle的通用test任务不一样,直接在根命令后加--tests会被识别成无效参数。下面给你几个靠谱的解决办法:

方法1:指定具体测试任务后加--tests参数

Android的测试分为单元测试和Instrumented设备测试,对应不同的Gradle任务,你需要先指定任务,再追加--tests过滤规则:

单元测试(本地运行)

针对Debug变体的单元测试,命令格式如下:

./gradlew testDebugUnitTest --tests "com.yourpackage.YourTestClass"

如果要精确到单个测试方法:

./gradlew testDebugUnitTest --tests "com.yourpackage.YourTestClass.targetTestMethod"

Instrumented测试(真机/模拟器运行)

针对Debug变体的设备测试,用connectedAndroidTest任务:

./gradlew connectedDebugAndroidTest --tests "com.yourpackage.YourInstrumentedTestClass"

方法2:用-P参数传递Instrumented测试过滤规则

如果是Instrumented测试,也可以通过-Pandroid.testInstrumentationRunnerArguments参数来指定测试类/方法,这种方式在老版本插件上兼容性更好:

./gradlew connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.yourpackage.YourInstrumentedTestClass

要指定单个方法的话,格式是:

./gradlew connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.yourpackage.YourInstrumentedTestClass#targetTestMethod

注意事项

  • 测试类的包名要写完整,避免匹配不到;如果路径里有空格,一定要用引号包裹。
  • 替换命令中的Debug为你的构建变体(比如Release),如果是自定义变体就用对应的名称。
  • 确保你的Android Gradle插件版本在4.0及以上,老版本可能不支持部分语法。

内容的提问来源于stack exchange,提问作者eastwater

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:36:20