2

Я использую maven для создания моего текущего проекта. У меня есть Jacoco для покрытия кода и aspectJ для компиляции во времени для моих аспектов.Покрытие кода Jacoco, затронутое AspectJ компиляцией во времени.

Прямо сейчас я столкнулся с проблемой, когда скомпилированный код aspectJ влияет на покрытие кода.

Это 100%, когда мы не переплетаем код, но он плохо падает до 1/4, когда мы используем aspectJ. Любые указатели?

+0

@A. Ди Маттео, Привет! Могли ли вы решить эту проблему? – StasKolodyuk

ответ

0

@A. Di Matteo, Я просто хотел поделиться обходным решением, которое я сделал, у меня не было подходящего решения этой проблемы. Таким образом, в основном, что делает jacoco, он вычисляет охват ваших скомпилированных классов после завершения тестовой фазы, а компилятор aspectj скомпилировал эти классы в сотканном. поэтому перед сплетением мне просто нужно поместить классы компиляции в какое-то место, чтобы в моем проекте были оба класса (скомпилированные и переплетенные). Так что я положил их в отдельном каталоге, так что jacoco можно рассчитать освещение от there.add в pom.xml

<plugin> 
<artifactId>maven-antrun-plugin</artifactId> 
    <executions> 
    <execution> 
    <phase>compile</phase> 
     <configuration> 
     <target> 
     <copy todir="${project.build.directory}/classesForSonar"> 
     <fileset dir="${project.build.directory}/classes" 
             includes="**/*" /> 
     </copy> 
    </target> 
</configuration> 
    <goals> 
    <goal>run</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

своей работы для меня, как я реализую время компиляции ткачества вы можете посмотреть implement compile time weaving with spring boot and aspectj

Если кто-нибудь нашел лучшее решение, пожалуйста, отправьте его. Всегда оцениваем. :)

Смежные вопросы