Плагин Jacoco для Scala Singleton Objects дважды покрывает одни и те же классы и создает дефицит покрытия - PullRequest
2 голосов
/ 17 февраля 2020

Я использую плагин Jacoco-Maven для Scala покрытия теста, но когда я запускаю тесты, я вижу в Index. html в Jacoco объекты Singleton покрываются дважды, где один дает правильное покрытие, а другой - неправильный номер покрытия.

Изображение: enter image description here

1 Ответ

0 голосов
/ 22 марта 2020

Jacoco проверяет покрытие скомпилированного кода, а не необработанного Scala кода. Я считаю, что в вашем скомпилированном коде есть частный конструктор класса, который не покрыт никаким тестом и который вызывает дефицит покрытия. Вы должны исследовать скомпилированный код для проверки. Однако есть способ устранить эту проблему: добавление следа.

trail XConverter
object XConverter {
 def doSomething() = {}
}

Запустите покрытие jacoco еще раз, и вы увидите, что покрытие дефицита исчезнет. Это эквивалентно наличию в интерфейсе Java методов stati c, без скрытого конструктора.

...