Вариант сборки тестовой версии Android Studio

Итак, я пытаюсь написать контрольно-измерительные тесты с использованием пользовательского варианта сборки, mock. В этом варианте сборки я издевался над своими классами и сервером. Когда я пытаюсь использовать макетную сборку, она отлично работает, но я не могу использовать свою макетную сборку для тестирования. Вот как выглядит моя конфигурация в Android Studio.

Варианты сборки

У меня были некоторые проблемы с запуском моих тестов, поэтому я попытался удалить все версии своего приложения, кроме моей макетной версии, и я продолжаю получать эту ошибку:

Не удалось найти тестовый запуск запущенного теста: Не удалось найти целевой пакет инструментов: com.teamtreehouse.review.debug

Однако, когда я пытаюсь запустить свои тесты против варианта сборки отладки, он отлично работает. Он устанавливает мою версию отладки, а затем запускает тесты.

Ответ 1

Вы можете проводить тестирование на другом варианте сборки; но только на одного. По умолчанию используется отладка.

Посмотри это: https://developer.android.com/studio/build/gradle-tips#change-the-test-build-type

В настоящее время тестируется только один тип сборки. По умолчанию это отладка Тип сборки, но его можно перенастроить с помощью:

android {
    ...
    testBuildType "staging"
}

Ответ 2

AFAIK androidTest работает только против отладочного buildType.

Вы можете использовать build builds, чтобы делать то, что вы хотите, хороший пример можно найти здесь: https://www.code-labs.io/codelabs/android-testing/#0

Ответ 3

Кроме того, вы можете настроить свой testBuildType следующим образом, чтобы вы могли принять решение о запуске любого типа сборки androidTest, указав соответствующее свойство из командной строки.

android {   
    ...

    if (project.hasProperty('androidTestRelease')) {
        testBuildType 'release'
    } else if (project.hasProperty('androidTestStaging')) {
        testBuildType 'staging'
    } else {
        testBuildType 'debug'
    }
    ...
}

Из командной строки

./gradlew connectedCheck -PandroidTestStaging