2015-01-16 3 views
6

Я использую make для строительства и Robolectric в качестве основы для запуска тестов на Android. Я хотел бы рассчитать покрытие моего приложения. Для контрольных испытаний я использовал emmalib. Каков наилучший способ настроить расчёт покрытия в этом случае? Я не могу мигрировать в граду или maven.Как рассчитать покрытие теста при использовании Robolectric

+0

Помогает ли это: http://stackoverflow.com/questions/13466482/generating-android-code-coverage-though-changes-in-build-xml-and-ant-properties – Slartibartfast

+0

Как насчет использования RoboElectric + Cobertura/EclEmma для покрытия кода? – Slartibartfast

+0

Slartibartfast: Мы не используем муравьев. Есть ли у вас учебник по интеграции Robo и Cobertura/EclEmma? Я буду пытаться использовать JaCoCo сегодня. – gruszczy

ответ

4

Вы связаны с Эммой? Как насчет использования покрытия RoboElectric + Cobertura? (Я думаю, вы могли бы просто использовать CLI для вышеуказанной комбинации)

Так варианты

1.) RoboElectric + Cobertura - CLI одна, вероятно, для кого-то не на АНТ

2.) JaCoCo может иметь некоторые полезные опции

3.) Pure Android Тестирование + Эмма/EclEmma

Полезные ссылки тащит следовать

Generating android code coverage though changes in build.xml and ant.properties

Android Gradle Code Coverage

https://intellectualcramps.wordpress.com/2013/08/18/code-coverage-of-robolectric-tests-using-jacoco/

https://bitbucket.org/ravidsrk/androidstarter

EDIT:

Ну большинство из учебников я наткнулся использования муравьев, к сожалению, и я не думаю, что это было бы плохой идеей для вас перейти к рекомендуемой системе сборки l ike Gradle, поэтому он открывает множество вариантов. Но для JaCoCo вы могли бы взглянуть на здесь: https://intellectualcramps.wordpress.com/2013/08/18/code-coverage-of-robolectric-tests-using-jacoco/

UPDATE:

Перемещенные это из комментариев к разделу ответа для информации тех, кто хочет видеть это и потому, что это наемный вопрос

+0

Cobertura кажется хорошим вариантом, я буду попробуйте. – gruszczy

+0

Cobertura работал, спасибо. – gruszczy

1

Одним из решений было бы использовать Cobertura для генерации покрытия кода, который может быть интегрирован в eclipse, а также запускаться скриптом сборки ant.

Шаблон проекта такой интеграции можно найти здесь: https://github.com/adgllorente/android-cobertura-boilerplate

Обратите внимание, что все волшебство происходит в build.xml проекта Test. Тезисы задач, вероятно, должны быть обобщены на файл custom_rules.xml, поэтому вы можете использовать android для обновления ваших проектов.

Наконец, для Gradle у вас есть много различных вариантов:

Обратите внимание, что вы всегда можете использовать Gradle в качестве вторичной системы сборки только для генерации отчеты о покрытии. (но вторая система сборки вводит много накладных расходов)

+0

Я не использую gradle, или maven, или ant. Моя сборка основана на чисто основе (проверьте базу данных AOSP). Я посмотрю на cobertura, который, кажется, позволяет работать с линией cmd без чего-либо еще. – gruszczy

0

jacoco иногда не работает с Robelectric и powermock runner, вы можете использовать клевер и инструменты atlassian, теперь это инструмент с открытым исходным кодом.

Смежные вопросы