Подтвердить что ты не робот

Охват тестового кода Android, Eclipse

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

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

4b9b3361

Ответ 1

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

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

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

  • Панель инструментов Clover
  • Отчет о облачном освещении
  • Отчет TreeMap Coverage
  • Проводник покрытия

О, и отчет о клевере HTML выглядит фантастически!

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

Ответ 2

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

  • Создайте проект (или библиотеку) для Android.

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

cd project

ant emma чистая отладка

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

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

  • если основной проект не является библиотекой

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

ant emma чистая отладка установкаЯ не использовал 'test', так как я хочу запустить свой собственный инструмент

adb shell am instrument -e покрытие true -e coverFile sdcard/coverage.ec -w com..myproject.test/com.zutubi.android.junitreport.JUnitReportTestRunner

  • Вытягивать файлы с устройства (эмулятора)

adb pull sdcard/junit-report.xml

adb pull sdcard/coverage.ec

  • Создать отчет XML (также может генерировать html-отчет)

java -cp emma.jar emma report -r xml -in bin/coverage.em, coverage.ec

  • Создать HTML отчет (также может генерировать отчет html)

java -cp emma.jar emma report -r html -in bin/coverage.em, coverage.ec

  • Использование Post-builds (Jenkins):

    • Отчет JUnit XML
    • Отчет об Emma Coverage (введите input.xml как вход)

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

Проверьте это из blog

Ответ 4

Установите 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> + Enter,

cd <path to test project> + Enter,

ant emma debug install test + Enter,

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

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

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

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