Android — создать покрытие с помощью emma (без муравья)

После запуска ant clean emma debug и установки сгенерированного apk-файла на мой эмулятор я запускаю следующую команду для запуска своих модульных тестов:

adb shell am instrument -w -e package org.company.projectname.test.unit -e coverage true \
-e coverageFile ProjectNameTest/bin/coverage.xml org.company.projectname.tests/com.neenbedankt.android.test.InstrumentationTestRunner'

Используемый мной InstrumentationTestRunner является подклассом android.test.InstrumentationTestRunner.

Когда я запускаю эту команду, все тесты проходят, но затем покрытие не генерируется, и я получаю ошибку: Error: Failed to generate emma coverage. Is emma jar on classpath?

Я не ищу решение, которое использует ant test, если только это решение не может устранить причину, по которой я его не использую, а именно то, что я хотел иметь возможность указать пакет в org.company.projectname.test для тестирования (в данном случае пакет unit).


person Kvass    schedule 10.07.2013    source источник
comment
почему бы вам просто не отредактировать свой предыдущий вопрос? stackoverflow .com/questions/17558226/   -  person Alex P.    schedule 10.07.2013
comment
Оглядываясь назад, может быть, я должен был. Честно говоря, я бы предпочел просто удалить этот вопрос.   -  person Kvass    schedule 11.07.2013


Ответы (2)


Это сработало для меня:

ant instrument
ant emma installi test

Редактировать: если вы не хотите использовать Ant, вам нужно собрать инструментальный apk вручную, проверьте $ANDROID_HOME/tools/ant/build.xml для получения дополнительной информации и убедитесь, что emma.jar находится в библиотеках вашего тестового проекта.

person friederbluemle    schedule 19.09.2013

Попробуйте: ant all clean emma debug install test

а также проверьте http://code.google.com/p/android/issues/detail?id=21640 , похоже, эта проблема исправлена ​​последней фиксацией

person GyaniPundit    schedule 10.07.2013
comment
а также stackoverflow.com/questions/4073681/ - person GyaniPundit; 10.07.2013