Мы используем jacoco, но на разных сборках и разных машинах, но тот же сценарий кода и градиента, он дает разные результаты. Проблема, кажется, анонимные классы - они иногда не выстраиваются в тестовый прогон - хотя все это делается как часть того же самого, чистая, сборка. Мы получаем следующее:Покрытие Jacoco несовместимо с анонимными классами
[ant:jacocoReport] Classes in bundle 'SomeThing' do no match with execution data. For report generation the same class files must be used as at runtime.
[ant:jacocoReport] Execution data for class a/b/c/$Mappings$1 does not match.
[ant:jacocoReport] Execution data for class a/b/c/$Mappings$3 does not match.
так что это похоже на то, что анонимные классы не синхронизированы. Любая идея, как это исправить? Это действительно противоречит нашим правилам, так как мы имеем, например, требование покрытия класса 100%, и это означает, что некоторые классы показывают иногда, так как они не охвачены.
вот что - мы говорим о одном сценарии градиента на одной машине - он очищает, строит, тестирует, создает отчет - нет места для разных файлов классов или байтового кода. И это всегда происходит с анонимными классами –
@DarrenOakey Тогда лучшим будет извлечение/создание небольшого репродуктора (http://stackoverflow.com/help/mcve). Исследования будут намного проще, быстрее и глубже в присутствии репродуктора, как вы можете видеть на примерах https://github.com/jacoco/jacoco/issues/383, https://github.com/jacoco/jacoco/issues/ 394 и https://github.com/jacoco/jacoco/pull/462 – Godin
@DarrenOakey Альтернативно используйте параметр агента "classdumpdir" (http://www.jacoco.org/jacoco/trunk/doc/agent.html), чтобы получить файл класса несоответствующего класса, который был замечен агентом, и предоставить его вместе с файлом класса, который у вас есть на диске во время генерации отчета. И в любом случае укажите версии JVM и JaCoCo. – Godin