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: содержит тесты, известные как локальные тесты.

Другие вопросы по тегам