Охват тестового кода Android, Eclipse
Есть ли способ запустить модульные тесты для Android от Eclipse таким образом, чтобы инструмент кода и измерить охват тестового кода?
Я ищу простой способ узнать, какие части моего приложения еще не проверены, исправить тестовые примеры и посмотреть, помогло ли это.
Ответы
Ответ 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
Не нужен emma.jar в libs
Проверьте это из blog
Ответ 3
Взгляните на эту статью: http://blog.pboos.ch/2011/06/coverage-fo-android-tests/
EDIT: Обновлена ссылка: https://github.com/pboos/blog.pboos.ch/blob/master/_posts/2011-06-29-coverage-fo-android-tests.markdown
Ответ 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/