Как динамически переключать / изменять testInstrumentationRunner с помощью gradle
Мой проект имеет 2 разные группы тестов. Одна группа работает только по умолчанию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)?
Я бы предпочел, чтобы у меня было две разные задачи, каждая из которых использует разныеtestInstrumentationRunner
но тестирую тот же вариант. Поскольку я собираюсь создать плагин Gradle, решение должно работать как плагин.