2016-04-04 5 views
2

Я могу получить отчет о покрытии моих тестов с помощью jacoco в своем приложении для Android, так как это просто, как выполнить задачу «createDebugCoverageReport». Но мне нужно сделать, чтобы исключить некоторые классы из анализа jacoco, чтобы улучшить мой охват. Я нашел ответы на многие вопросы, но все они касаются модульного тестирования. Кто-то может мне помочь?Исключить классы в охвате тестов эспрессо с помощью jacoco

+0

Вы решили свою проблему? –

+1

Да. Мне пришлось создать еще одну задачу Gradle. Я следовал этому руководству https://medium.com/@rafael_toledo/setting-up-an-unified-coverage-report-in-android-with-jacoco-robolectric-and-espresso-ffe239aaf3fa#.butp8u2iq Надеюсь, это может помогите кому-нибудь. –

+0

Похоже, мне нужно что-то другое. Вот мой вопрос: http://stackoverflow.com/q/37284978/1065835 –

ответ

0

Вы не указали много вопросов в своем вопросе. Основываясь на том, что вы написали, я могу уточнить, что:

Вы нашли много ответов относительно модульных тестов, потому что jacoco работает со всеми тестами аналогичным образом. Что вам нужно сделать, это следовать одним и тем же строкам:
Jacoco заботится о ваших тестах. Обычно вы должны аннотировать тест с аннотацией @Test. Убедитесь, что вы делаете это для твоей, и те, что вам нужно, чтобы исключить вставить их в такой метке (если вы используете Maven):

<configuration> 
    <excludes> 
     <exclude>**/*Config.*</exclude> 
     <exclude>**/*Dev.*</exclude> 
    </excludes> 
</configuration> 

Если вы используете Gradle, посмотрите на this article вместо этого.

+0

Я использую Gradle. Мне не нужно исключать тесты, кроме кода, который анализируется для распечатки отчета. Я не размещал никакого кода, потому что нет никакого соответствующего кода для показа. Моя цель - увеличить процент покрытия кода. Теперь у меня получается плохой анализ: jacoco анализирует классы, которые не важны для целей тестирования тестов. Я также посмотрел на этот ответ, но я не могу это исправить. Я не создавал никаких задач для создания отчета. Я использую задачу «createDebugCoverageReport», и я не могу ее отрегулировать, как предложено в этом ответе –

+0

Анализируемый код основан на ваших тестах. Чтобы улучшить покрытие кода, вам нужно создать дополнительный тест, который может достичь всего кода, который вы написали для производства. Если вас не интересуют некоторые проверки, убедитесь, что вы исключили их в свой конфигурационный файл gradle. – LoreV

+0

Нет. Он рассматривает также классы, созданные другими службами (например, класс Message.java, созданный протокольными буферами). Мне нужно исключить этот и, возможно, другие классы из анализа jacoco. –

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