Как динамически переключать / изменять 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 версии тестового приложения, оба тестируют одно и то же приложение с разнымиtestInstrumentationRunners.

Я пытался изменитьtestInstrumentationRunner перебирая все тестовые варианты. Есть на самом деле несколькоtestInstrumentationRunner свойства:

android.testVariants.all { TestVariant variant ->
    //readonly
    variant.variantData.variantConfiguration.instrumentationRunner

    variant.variantData.variantConfiguration.defaultConfig.testInstrumentationRunner

}

Но как толькоandroid.testVariants называется сборка настраивается и все изменения не отражаются в сборке.

Как динамически изменить testInstrumentationRunner (из подключаемого модуля Gradle)?

Я бы предпочел, чтобы у меня было две разные задачи, каждая из которых использует разныеtestInstrumentationRunner но тестирую тот же вариант. Поскольку я собираюсь создать плагин Gradle, решение должно работать как плагин.

Ответы на вопрос(4)

Ваш ответ на вопрос