У нас была похожая проблема в нашей компании. Мы проверили все доступные решения с открытым исходным кодом, и ни одно из них не было действительно идеальным. Поэтому мы разработали и просто открыли решение для этого. Я до сих пор не говорю «окончательный», но, безусловно, гораздо лучше, чем Афина, репортер Python или любой анализ после тестирования. Вы можете найти это здесь:
http://code.google.com/p/the-missing-android-xml-junit-test-runner/
Обеспечивает:
- отдельный файл XML для каждого задействованного пакета
- XML-файлы генерируются на устройстве (необходимо проверить adb после проверки)
- время проведения испытаний полностью поддерживается
- у нас есть полная трассировка стека в случае сбоя / ошибки
Вместо того, чтобы анализировать исходный код Java (как в Athena) или анализировать вывод (скрипт Python), мы расширили программу-инструктор по Android. Таким образом, мы получаем все преимущества использования стандартных параметров командной строки для выбора тестов, включения покрытия и т. Д. - все описано здесь: http://developer.android.com/guide/developing/testing/testing_otheride.html#RunTestsCommand.
Мы смогли успешно выполнить код с использованием стандартных правил тестирования с охватом, проанализированным Эммой, о чем все хорошо сказано в Jenkins.