Зачем проводить тесты в отдельном проекте, а не в папке? - PullRequest
9 голосов
/ 16 января 2011

Просто интересно - почему было решено перенести тесты в отдельный проект, а не просто в отдельную исходную папку?

Ответы [ 3 ]

9 голосов
/ 17 января 2011

Тестовое приложение «инструменты» целевого или основного приложения.

Раздел инструментария в тестовом проекте AndroidManifest.xml позволяет выполнять тесты в том же процессе, что и приложение. Эта инструментальная функция позволяет тестируемому приложению контролировать жизненные циклы компонентов Android контролируемым образом.

Наличие этого элемента управления позволяет (например) создавать повторяемые тесты для случаев для жизненного цикла действия (создание, возобновление, приостановка, уничтожение).

см. http://developer.android.com/guide/topics/testing/testing_android.html#Instrumentation

Итак, в итоге, дополнительное приложение обладает особыми полномочиями над целью теста. Поскольку они инкапсулированы в тестовом приложении, ваше реальное приложение должно иметь только те разрешения, которые требуются для выполнения его обязанности.

1 голос
/ 10 августа 2011

В текущей документации, как я понимаю, говорится, что вы должны хранить тестовый код в отдельном проекте в папке "tests" внутри проекта Applicaton => "Проект в проекте"
http://developer.android.com/guide/topics/testing/testing_android.html#TestProjects

Как?
Создание тестового проекта Android в Eclipse

Почему?
Вместо ex.40 проектов у вас есть 20 проектов => лучший обзор, меньше обслуживания, быстрое затмение.
Два build.xml => более простые сборки CI с Jenkins
Два файла манифеста => будущие версии инструментов сборки ADT будут поддерживать объединение манифеста

0 голосов
/ 16 января 2011

Я думаю, что таким образом вы можете создать два отдельных приложения, одно из которых является обычным, а другое - для его тестирования.Если вы хотите опубликовать свое приложение, вам не нужно давать всем свои тесты.Но, возможно, это было сделано для лучших целей!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...