Я долгое время разработчик Java с многолетним опытом Java EE, Ant, Maven, модульное тестирование, mocks и т. Д. В настоящее время я использую gradle для создания приложений для Android и смотрю на модульное тестирование их. И это заставило меня вырвать мои волосы!Попытка понять андроид-тестирование
Мое чтение указывает, что для проверки приложения мне нужно создать в нем другое приложение в тестовом каталоге. Но я не уверен, как это встроенное приложение может видеть основные классы приложений. Я предполагаю, что Google придумал это из-за того, что что-то связано с манифестом, которые отличаются. Я не знаю, почему.
Без выполнения этой встроенной системы приложений я смог получить модульные тесты для запуска, включая тестовые классы с основными классами в APK, добавив объявления манифеста в манифест, развернув их и запустив тестовые ролики , Но я не хочу компилировать тестовые классы с классами приложений и включать все зависимости, поэтому это не вариант, и я не уверен в эффектах изменений в манифесте, так как не могу найти никакой документации об эффектах ,
Ничего из этого не понимает градация, которая следует за системой здания maven. Также обратите внимание, что, по-видимому, путь к андроиду заключается в том, что встроенный подпроект (тест) зависит от основного родительского проекта, что полностью противоречит градиенту и maven.
Другой вариант, кажется, отдельный тестовый проект, так что он полностью находится вне проекта приложения. Но на самом деле, я бы хотел использовать аналогичное соглашение для maven и просто иметь тесты в отдельном каталоге вместе с манифестом в тестовых ресурсах.
Неужели кому-нибудь удалось пройти тестирование на эмуляторах, выполняющих модульные тесты, следуя более структуре структуры maven?
Я быстро посмотрел на робототехнику, но я предпочитаю проводить тесты как можно ближе к устройству. Частично, поскольку те тесты, которые мне интересны, - это тесты inetegration/functional/BDD. Единицы Я могу работать как чистый JUnits. – drekka