T.M. SoftStudio

feci quod potui, faciant meliora potentes

Купить полную версию книги "Среда разработки Eclipse 4: Руководство разработчика"

Создание Android-приложений

Wizard-мастера ADT-плагина

Мастер Android Test Project

Мастер Android Test Project помогает создать для выбранного Android-проекта набор тестов на базе Android-расширения платформы тестирования JUnit.

Android-расширение платформы тестирования JUnit представлено библиотекой android.test платформы Android.

ADT-плагин обеспечивает сборку проекта Android-тестов в пакет и его загрузку вместе с пакетом тестируемого Android-приложения в Android-устройство, в котором инструмент android.test.InstrumentationTestRunner запускает созданный набор тестов. При тестировании Android-приложения в Android-устройстве ни Android-система, ни инструмент InstrumentationTestRunner сами по себе не запускают Android-приложение, это делают Android-тесты путем вызова соответствующих методов.

Проект Android-тестов имеет ту же структуру, что и проект Android-приложения. Для предотвращения конфликтов в Android-системе имя пакета Android-тестов состоит из имени пакета тестируемого Android-приложения плюс расширение .test. Кроме того, файл манифеста AndroidManifest.xml проекта Android-тестов содержит тэг <instrumentation>, устанавливающий в качестве инструмента запуска тестов инструмент InstrumentationTestRunner, а также определяющий имя пакета тестируемого Android-приложения. Так как код инструмента InstrumentationTestRunner содержится в отдельной библиотеке android.test.runner, тэг <application> файла манифеста AndroidManifest.xml проекта Android-тестов содержит тэг <uses-library>, указывающий необходимость загрузки библиотеки android.test.runner.

Для тестирования компонентов Android-приложения в каталоге src проекта Android-тестов в пакете Android-тестов требуется создание классов, расширяющих классы тестов программного интерфейса Android Testing API:

  • android.test.ActivityInstrumentationTestCase2<T extends android.app.Activity> - обеспечивает тестирование отдельного Activity-компонента, с его запуском в экземпляре Android-приложения, использующим обычную инфраструктуру Android-системы.

  • android.test.ActivityUnitTestCase<T extends android.app.Activity> - обеспечивает тестирование отдельного Activity-компонента, изолированного от Android-системы.

  • android.test.SingleLaunchActivityTestCase<T extends android.app.Activity> - обеспечивает тестирование отдельного Activity-компонента с его загрузкой только один раз для тестирования режима загрузки, отличного от standard (атрибут android:launchMode тэга <activity>).

  • android.test.ProviderTestCase2<T extends android.content.ContentProvider> - обеспечивает тестирование отдельного ContentProvider-компонента в изолированном окружении.

  • android.test.ServiceTestCase<T extends android.app.Service> - обеспечивает тестирование отдельного изолированного Service-компонента.

  • android.test.ApplicationTestCase<T extends android.app.Application> - обеспечивает тестирование Application-класса.

Для создания проекта Android-тестов в меню File среды Eclipse выберем команду New | Other | Android | Android Test Project и нажмем кнопку Next, введем имя проекта и нажмем кнопку Next, выберем Android-проект для тестирования и нажмем кнопку Next, выберем версию Android-платформы и нажмем кнопку Finish. В результате ADT-плагином будет сгенерирована основа проекта Android-тестов для выбранного Android-приложения.

Для создания класса тестов в окне Project Explorer среды Eclipse нажмем правой кнопкой мышки на узле пакета проекта Android-тестов и в контекстном меню выберем команду New | Other | Java | Class, нажмем кнопку Next и в окне мастера создания Java-класса в поле Name: введем имя класса тестов, а в поле Superclass: введем имя расширяемого класса библиотеки android.test платформы Android, например android.test.ActivityInstrumentationTestCase2<NameActivity>, где NameActivity – имя класса Activity-компонента тестируемого Android-приложения. После нажатия кнопки Finish будет сгенерирована и открыта в Eclipse-редакторе основа класса тестов.

После заполнения необходимым кодом класса тестов, для запуска Android-тестов запустим Android-эмулятор, используя приложение AVD Manager, после этого в окне Project Explorer среды Eclipse нажмем правой кнопкой мышки на узле проекта Android-тестов и в контекстном меню выберем команду Run As | Android JUnit Test. В результате ADT-плагин загрузит пакет Android-тестов вместе с пакетом тестируемого Android-приложения в Android-устройство, в котором будут запущены созданные тесты. При этом результаты тестирования будут возвращены в среду Eclipse для отображения в автоматически открывающемся представлении JUnit.



Отображение контента Android приложением