До установки обновления:
- Java — 1.8
- Scala — 2.12
- sbt — 1.5.0
- sbt-jacoco — 3.1.0
После обновления:
- Java — 17
- Scala — 2.13
- sbt - 1.10.11
- sbt-jacoco - 3.4.0
С обновлением sbt-jacoco наше общее тестовое покрытие уменьшилось примерно на 10%.
После некоторого расследования мы обнаружили, что sbt-jacoco 3.4.0 теперь считает ветви синтетических методов (например, методы copy$ для тематических классов).
Я проверил исходный код sbt-jacoco и увидел, что там реализован соответствующий фильтр (синтетические методы scala), но похоже, что он не работает, или, возможно, мне следует включить это каким-то образом происходит во время запуска команды jacoco.
Кроме того, он также считает простые геттеры, начиная с sbt-jacoco 3.4.0, но для jacoco этого не должно быть.
UPD
@aled, @Gaël J, вы правы, я должен добавить несколько примеров. И вопрос "как исключить синтетические методы из отчета SBT Jacoco"
Вот до обновления (должен запускаться с Java 1.8): https://github.com/ppllaxxa/sbt-jacoco-test
После обновления (должен запускаться с Java 17): https://github.com/ppllaxxa/sbt-jacoco-test-upgrade
Чтобы создать отчет jacoco, просто выполните в оболочке sbt: обновление
sbt-jacoco-test-upgrade\target\scala-2.13\jacoco\report\html
После обновления
Подробнее здесь: https://stackoverflow.com/questions/798 ... ic-methods
Мобильная версия