Eclipse EclEmma пропустила инструкции

Я использую плагин Eclipse-STS + EclEmma, ​​чтобы увидеть покрытие моего кода. Во всех моих абстрактных классах (только со статическими методами) я вижу 3 пропущенных инструкции (Instructions Counter отчет) в строке определения класса:

введите здесь описание изображения

Маркер слева от красной линии отсутствует, поэтому я не знаю точно, что это за инструкции. Может какие конструкторы? Что я могу сделать, чтобы покрыть их?


person madhead    schedule 07.02.2013    source источник
comment
Я не знаю ответа на этот вопрос, но мне любопытно, почему это так важно для вас. Вы обязаны получить 100% покрытие? ИМО, такие инструменты покрытия, как Emma, ​​лучше всего подходят для выявления слабых мест в вашем тестировании. Если вы знаете, что эти инструкции покрыты, но emma этого не показывает, это не проблема с вашими тестами (хотя это может указывать на ошибку в emma).   -  person Andrew Eisenberg    schedule 11.02.2013
comment
Я просто перфекционист и хочу видеть в отчетах ту заветную цифру. Кроме того, мне просто любопытно.   -  person madhead    schedule 11.02.2013
comment
Я понимаю. :-) Жаль, что у меня не было ответа для вас.   -  person Andrew Eisenberg    schedule 12.02.2013


Ответы (1)


Один из способов, который я нашел для достижения 100%-го покрытия, — это написать такой тестовый метод:

@Test
public void coverage(){
    KeyEscaper a = new KeyEscaper() {
    };
}

Поскольку проблема касается только классов utils со всеми статическими методами, не проблема создать их анонимно таким образом.

person madhead    schedule 04.03.2013
comment
Просто сделать new KeyEscaper(); должно быть достаточно. Кроме того, вы можете поместить его в статический метод с помощью @BeforClass, чтобы вам не пришлось создавать фиктивный тест. - person seeker; 05.07.2013
comment
Невозможно сделать new, так как класс абстрактный. - person madhead; 05.07.2013
comment
Однако вы можете комбинировать два подхода (анонимный подкласс, но без локальной переменной) просто new KeyEscaper() {};. - person Joshua Taylor; 10.07.2013