【问题标题】:How to pass argument from Gradle Plugin to JUnit4 Test Runner?如何将参数从 Gradle 插件传递给 JUnit4 测试运行器?
【发布时间】:2021-05-03 22:27:05
【问题描述】:
我可以通过一个共享的 Gradle 插件访问多个项目中的一些变量,并且我想通过该插件将一个参数传递给我的测试运行器。
例如,通过adb shell,参数将如下所示:
$ adb shell am instrument -e myarg MYARG com.example.my.test/.MyTestRunner -w
有没有一种方法可以模拟 Gradle 插件代码中的 -e myarg MYARG 行为?
(任何等效的方法都是可接受的答案 - 我只需要一种方法将我的插件中可访问的变量值传递给我的测试运行器)
谢谢!
【问题讨论】:
标签:
android-gradle-plugin
gradle-plugin
gradle-kotlin-dsl
【解决方案1】:
答案是设置一个defaultConfig.TestInstrumentationRunnerArgument 值,以及您的测试运行器和侦听器。所以在我们的插件代码中,我们有:
defaultConfig.testInstrumentationRunner = "com.mypackage.MyTestRunnerClassName"
defaultConfig.testInstrumentationRunnerArgument("listener", "com.mypackage.MyTestListenerClassName")