Тестовое покрытие кода Android, Eclipse - PullRequest
17 голосов
/ 19 июля 2010

Есть ли способ запустить модульные тесты для Android из Eclipse таким образом, чтобы инструмент кодировал и измерял покрытие тестового кода?

Я ищу простой способ выяснить, какие части моего приложения еще не тестировались, исправить контрольные примеры и посмотреть, помогло ли это.

Ответы [ 4 ]

8 голосов
/ 21 сентября 2012

Отказ от ответственности: я - Atlassian

Инструмент Atlassian Clover также поддерживает Android - он измеряет охват как кода приложения, так и модульных тестов.Хотя в альфа-стадии он работает довольно хорошо - он работает с Eclipse версии 3.6.2 и выше.

Если вы хотите найти области своего приложения, требующие улучшения, то для этой задачи идеально подойдут следующие функции Clover:

  • Clover Dashboard
  • Coverage CloudОтчет
  • Coverage TreeMap Report
  • Coverage Explorer

Да, и HTML-отчет Clover выглядит фантастически!

Проверьте это: https://confluence.atlassian.com/display/CLOVER/Clover-for-Android

3 голосов
/ 13 ноября 2013

Я использовал EMMA (android уже поддерживает его) для покрытия кода (и android-junit-report для отчетов о тестах), вот сводка:

  • Создание Android-проекта (или библиотеки)

Проект обновления android.bat -p project -n my_project -t android-16

cd project

муравей эмма чистая отладка

  • создать тестовый проект (связанный с предыдущей библиотекой)

android.bat обновление проекта - библиотека .. \ project -p project_Test -n project_Test -t

  • в случае, если основной проект не является библиотекой

android.bat обновление проекта -m .. \ project -p project_Test -n project_Test -t

муравей эмма чистая отладка установка Я не использовал «тест», так как хочу запустить собственный инструмент

adb shell am instrument -e покрытие истинно -e покрытиеFile 1048 *

  • Извлечение файлов с устройства (эмулятора)

adb pull sdcard / junit-report.xml

adb pull sdcard / cover.ec

  • Генерация XML отчета (также может генерировать html отчет)

java -cp emma.jar отчет по emma -r xml -in bin / cover.em, cover.ec

  • Генерация HTML отчета (также может генерировать html отчет)

java -cp emma.jar отчет о emma -r html -in bin / cover.em, cover.ec

  • Использование пост-сборок (Jenkins):

    • Отчет JUnit XML
    • Отчет Emma Coverage (укажите input.xml в качестве входных данных)

Не нужен emma.jar в libs

Проверьте это из моего блога

2 голосов
/ 20 октября 2012

Установить EclEmma из Eclipse Marketplace.

Если у вас есть <path to test project>/build.xml файл, переименуйте его.

Я смог создать отчет о покрытии теста, выполнив следующее изконсоль:

<path to android tools>android update test-project -m <path to app project> -p <path to test project> + Введите ,

cd <path to test project> + Введите ,

ant emma debug install test + Введите ,

, где <path to android tools> равно /opt/android-sdk-linux/tools/ на моей машине - папка, в которой установлен Android SDK.

Этот сгенерированный <path to test project>/bin/coverage.html файл.

Если вы получили сообщение «неправильный JAVA_HOME», выполните gksu gedit /etc/environment + Введите , исправьте JAVA_HOME, сохраните файл, выйдите из системы или перезагрузите компьютер и повторите попытку.

Источник: http://blog.rabidgremlin.com/2010/11/19/android-tips-generating-a-coverage-report-for-your-unit-tests/

2 голосов
/ 27 июля 2011

Посмотрите на эту статью: http://blog.pboos.ch/2011/06/coverage-fo-android-tests/

РЕДАКТИРОВАТЬ: Обновленная ссылка: https://github.com/pboos/blog.pboos.ch/blob/master/_posts/2011-06-29-coverage-fo-android-tests.markdown

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