Android разница между testImplementation и androidTestImplementation в build.gradle
Я использую andorid studio 3.2 и я новичок в тестировании. Я хочу добавить тестовую библиотеку, но я не получаю то, что я должен написать в разделе зависимостей testImplentation или androidTestImplementation. В чем разница между этими двумя?
2 ответа
Если вы создаете проект Android с помощью Android Studio. Вы можете найти три каталога, как показано ниже. (каждый каталог называется Source Set
)
- приложение / SRC / главная
- app/src/androidTest: для тестирования пользовательского интерфейса Android. Для этого нужно виртуальное или реальное устройство. (Эспрессо, UI automator)
- app / src / test: для независимого теста Android.
androidTest
каталог может быть автоматизирован, касаясь экрана и проверяя, что отображается.
в test
каталог, мы в основном делаем unit tests
такие как тестирование одной функции.
Но тестовый каталог предназначен не только для юнит-теста. Вы также можете написать тест интеграции, как HTTP-вызов. Даже ты можешь UI test
в test
использование каталога Robolectric
библиотека. (Это действительно быстро, а не эспрессо)
Так что же testImplementation
а также androidTestImplementation
(каждый называется Configuration
)
- testImplementation: добавляет зависимость для
test
исходный набор - androidTestImplementation: добавляет зависимость для
androidTest
исходный набор
Смотрите эту статью для деталей.
реализация — зависимость доступна во всех исходных наборах, включая тестовые исходные наборы.
testImplementation— Зависимость доступна только в тестовом исходном наборе.
androidTestImplementation— Зависимость доступна только в исходном наборе androidTest .
Исходные наборы Android :
main: содержит код вашего приложения. Этот код является общим для всех различных версий приложения, которое вы можете создать (известных как варианты сборки).
androidTest : содержит тесты, известные как инструментальные тесты.
test: содержит тесты, известные как локальные тесты.