我的项目有两组不同的测试。一组仅使用默认值运行AndroidJUnitRunner
另一个必须使用自定义实现来运行TestRunner extends MonitoringInstrumentation
.
目前我切换testInstrumentationRunner
通过编辑build.gradle
每次我需要运行另一组测试时:
android{
defaultConfig {
//testInstrumentationRunner "my.custom.TestRunner"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
我知道口味可以有自己的testInstrumentationRunner
但我当前的应用程序已经有 2flavourDimensions
。使用风味实际上是为了拥有不同版本的应用程序。我需要 2 个版本的测试应用程序,两个版本都使用不同的版本测试同一个应用程序testInstrumentationRunner
s.
我试图改变testInstrumentationRunner
通过迭代所有测试变体。其实有多个testInstrumentationRunner
特性:
android.testVariants.all { TestVariant variant ->
//readonly
variant.variantData.variantConfiguration.instrumentationRunner
variant.variantData.variantConfiguration.defaultConfig.testInstrumentationRunner
}
但只要android.testVariants
称为构建已配置,所有更改都不会反映在构建中。
如何动态更改 testInstrumentationRunner (来自 gradle 插件)?
我更喜欢有 2 个不同的 gradle 任务,每个任务使用不同的testInstrumentationRunner
但测试相同的变体。因为我打算创建一个 gradle 插件,所以该解决方案也应该作为插件使用。