Яка різниця між папками src / androidtest та src / test?


119

У проекті в Android Studio за замовчуванням є дві тестові папки.

Перший - це src/androidTest. Ця папка вже існувала в попередній версії Android Studio. Тим не менш, зараз є нова тестова папка за замовчуванням src/testта нова залежність testCompile 'junit: junit: 4.12'у build.gradle.

Яку папку я використовую для тестування? Які відмінності між ними?

Відповіді:


134

src/androidTest призначений для одиничних тестів, що включає в себе інструменти для андроїд.

src/testпризначений для чистого тестового модуля, який не передбачає андроїд-фреймворк. Ви можете запускати тести тут, не працюючи на реальному пристрої чи на емуляторі.

Ви можете використовувати обидві папки. Скористайтеся першим для тестування коду, який використовує систему Android. Використовуйте другий для тестування коду, який є чистими класами java. Методи написання тестів майже однакові.

Більше інформації тут: http://developer.android.com/tools/testing/testing_android.html


URL-адреса переспрямована на: developer.android.com/studio/test/index.html
Гійом Хуста

Ви щойно врятували мені день
C Johnson

що з androidTestDebug?
the_prole

47

Прекрасним джерелом інформації, що стосується тестування андроїдів взагалі, є сторінка розробників « Кращі практики тестування» :

  • Тести локальної одиниці ( /src/test/java/)

Тестові одиниці, які працюють локально на віртуальній машині Java (JVM). Використовуйте ці тести, щоб мінімізувати час виконання, коли ваші тести не мають рамкової залежності від Android або коли ви можете знущатися з залежностей Android від фреймворку.

  • Інструментальні випробування ( /src/androidTest/java/)

Тестові одиниці, які працюють на пристрої Android або емуляторі. Ці тести мають доступ до інформації про приладобудування, наприклад, до контексту програми, яку ви тестуєте. Використовуйте ці тести, коли у ваших тестах є залежності від Android, які знущаються з об'єктів не можуть задовольнити.

https://developer.android.com/training/testing/start/index.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.