我在查找文档时遇到问题,如何解决这个问题。
我能够用:
启动小/中/大测试./gradlew spoonSmall
./gradlew spoonMedium
./gradlew spoonLarge
或者使用此设置启动特定测试:
spoon {
(...)
if (project.hasProperty('spoonClassName')) {
className = project.spoonClassName
if (project.hasProperty('spoonMethodName')) {
methodName = project.spoonMethodName
}
}
}
我可以启动特定文件:
./gradlew spoon -PspoonClassName=com.package.tests.MyTest;
我感兴趣的是可以启动位于以下位置的所有测试:
./gradlew spoon -PspoonClassName=com.package.tests
包。这两种方法都没问题。一些参数用于bash控制台或者可能用于创建我自己的注释并通过类似./gradlew spoonMyTests的方式启动。
我很感激您的建议/帮助。
答案 0 :(得分:2)
来自官方文档:
有许多方法可以运行特定测试或一组测试。您 可以使用Spoon --size, - class-name或--method-name选项,或 您可以使用--e选项将参数传递给检测 跑步者,例如
- e package = com.mypackage.unit_tests
以下命令在从命令行直接执行Spoon时(而不是从gradle任务中执行)
java -jar spoon-runner-1.1.9-jar-with-dependencies.jar \
--apk ExampleApp-debug.apk \
--test-apk ExampleApp-debug-androidTest-unaligned.apk \
--e package=com.package.tests
你需要找到一种方法将这个额外的参数传递给Spoon gradle插件。
来自 Spoon Gradle插件的official doc :
自定义检测参数
使用spoon扩展的instrumentationArgs属性来传递自定义 测试的参数:
spoon {instrumentationArgs = [" foo = bar"," name = value"]}
在您的情况下,这应如下所示:
spoon {
instrumentationArgs = ["package=com.package.tests"]
}