#java #maven #clover
#java #maven #clover
Вопрос:
Я знаю, что мне придется использовать // CLOVER: OFF
, чтобы отключить тестовое покрытие clover. Я прочитал https://confluence.atlassian.com/display/CLOVER/Using Источник Директивы
Я добавил эту строку перед объявлением моего класса, например:
// CLOVER: OFF
public class SampleClass{
/*
* Some definitions
*/
}
Эта вещь работала для меня вчера и сегодня терпит неудачу. Я ломаю голову, пытаясь выяснить причину сбоя.
Но моя сборка maven завершилась неудачно, потому что она не соответствовала проценту покрытия. Я использую maven 3.3.9 и eclipse Neon для своего проекта.
Ответ №1:
Это пробел между CLOVER: и OFF, который вызывает проблемы. Вы должны использовать директивы точно так, как это описано в документах
// CLOVER:ON
// CLOVER:OFF
Вы пытаетесь исключить весь файл из инструментария? Если это так, вы можете просто исключить классы из инструментария на уровне Maven или Eclipse. Ссылки на документацию:
Комментарии:
1. Я сделал это, все равно не сработало. Точно такая же строка работала у меня ранее.
2. поправьте меня, если я ошибаюсь. Но я думаю, что это вызвано неправильным размещением строк документа
Ответ №2:
Если вы хотите исключить один полный класс из clover, вы можете сделать это в конфигурации pom.
<configuration>
<excludes>
<exclude>**/SampleClass.java</exclude>
</excludes>
</configuration>
Если вы хотите исключить только один или несколько методов, используйте CLOVER:OFF / CLOVER:ON вокруг них.
public class SampleClass {
private int num;
public SampleClass() {
// intentionally left blank
}
// CLOVER:OFF
public void setNum(int num) {
this.num = num;
}
// CLOVER:ON
}
Остерегайтесь того факта, что clover все равно будет сканировать исключенный код, если в классе больше нечего сканировать, отсюда и пустой конструктор.
Комментарии:
1. Привет, для меня добавление // CLOVER:OFF // CLOVER:ON не работает. Что может быть возможной причиной этого? Нужно ли мне что-либо добавлять в мой файл buid.gradle для этой цели?