Вариант сборки тестовой версии 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