Структура каталога проектов тестирования Android при использовании Eclipse

Когда-то я избегал разработки Eclipse для Android. И жизнь была хорошей.

В то же время я принял конвенцию, первоначально поддерживаемую средствами сборки командной строки Android, с подкаталогом tests/, содержащим тестовый код (например, MyProject/, являющийся домом для приложения, MyProject/tests/ дом тестового набора). Android отлично справляется с тем, что тестовый код может находиться в отдельном проекте, но его наличие в качестве подкаталога логически совместило тесты с соответствующим проектом.

Теперь я перехожу на Eclipse, так как мне нужно поддерживать его лучше для моих подписчиков. Единственный способ добиться качественной работы по его поддержке - использовать его ежедневно. И, поскольку у меня есть четырехъядерный процессор с 4 ГБ ОЗУ, Eclipse фактически запускается менее чем за минуту.: -)

Однако предварительные исследования показывают, что Eclipse не поддерживает подпроекты (т.е. один проект Eclipse с другим проектом Eclipse в подкаталоге).

Итак, мои вопросы:

  • Я исправлю эту оценку, и если я ошибаюсь, есть ли какие-то конкретные шаги, которые я должен предпринять, чтобы убедиться, что Eclipse счастлив? Я нахожу, что Eclipse иногда может быть немного расшатанным...

  • Как разработчики Android организуют тестовые проекты по сравнению с тестируемым проектом? Одноранговые каталоги (например, MyProject/ для приложения, MyProjectTests/ для тестов)? Подкатегории Peer под некоторым целевым общим верхним (например, MyProject/app/ для Android-приложения, MyProject/tests/ для набора тестов?)? Что-то еще?

Кстати, я запускаю Eclipse 3.5.2, если это имеет значение.

Спасибо!

Ответы

Ответ 1

Я создавал тестовые проекты с Eclipse 3.6.2 внутри моего основного проекта, как и для инструментов командной строки (MyProject и MyProject/test - это проекты Android, в которых есть папка src). Вы можете создать этот тестовый проект, используя новый проект тестирования Android, сняв флажок "Место по умолчанию" и установив путь.

Ни один из моих проектов не очень большой, но единственной проблемой, с которой я столкнулся, является то, что вы не можете использовать папку MyProject/test в проекте MyProject. Чтобы иметь возможность щелкнуть правой кнопкой мыши и запустить в качестве тестового примера, вам необходимо получить доступ к файлам непосредственно из проекта MyProjectTest. Чтобы предотвратить возникновение проблем, вы можете добавить фильтр ресурсов, чтобы скрыть тестовую папку в "Свойства проекта" > "Ресурс" > "Фильтры ресурсов".

Однако предварительные исследования показывают, что Eclipse не поддерживает подпроекты (т.е. один проект Eclipse с другим проектом Eclipse в подкаталоге).

Какие проблемы вы видели?

Ответ 2

  • Зависит от вашего набора инструментов:
    ADT >= v12 в настоящее время имеет четкую поддержку "проекта в рамках проекта":
    Создание проекта тестирования Android в Eclipse

  • Я пробовал отдельный тестовый проект и отдельный тестовый каталог, но подход afaik "проект в рамках проекта", похоже, является способом будущего.
    Это связано с тем, что AndroidManifest.xml, слияние с тестовым проектом AndroidManifest.xml, находится в стадии разработки для следующих выпусков ADT.