我想运行一个Gradle命令,该命令将生成一份覆盖率报告,并运行一组特定的测试,而不是软件包中的每个测试。在这种情况下,我想生成有关仪器测试而不是UI测试的报告。
我已经设置了Jacoco,以便可以运行Gradle命令
./gradlew create<package-name>DebugAndroidTestCoverageReport
以在androidTest文件夹中运行我的所有测试。
我尝试./gradlew create<package-name>DebugAndroidTestCoverageReport --tests "com.myproject.test.*"
仅运行test
程序包中的测试,但这会返回错误Unknown command-line option '--tests'
。
使用Gradle命令test --tests "com.myproject.test.*"
可以正常运行并运行指定的测试,但不会生成覆盖率报告。
有没有一种方法可以在仍然生成覆盖率报告的同时进行测试过滤?
答案 0 :(得分:0)
经过一番搜索,我偶然发现了这个问题Android, Gradle. How start specific instrumented test method?,这给了我答案。
为了按包筛选出测试用例,您可以使用
./gradlew create<package-name>DebugAndroidTestCoverageReport -Pandroid.testInstrumentationRunnerArguments.package=com.example.test
此命令将仅针对指定的测试生成覆盖率报告。