Junit терпит неудачу из-за Аспекта
У меня есть пользовательский фреймворк безопасности на основе аннотаций. Я использую плагин aspectj maven для создания аспекта, когда он сталкивается с аннотацией безопасности для метода.
Я использую jenkins для сборки проекта, а цели плагинов aspectj maven установлены для компиляции, как указано ниже.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.6.5</version>
</dependency>
</dependencies>
<configuration>
<showWeaveInfo>true</showWeaveInfo>
<complianceLevel>1.6</complianceLevel>
<!-- <weaveDirectories> <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
</weaveDirectories> -->
</configuration>
<executions>
<execution>
<!-- Compile and weave aspects after all classes compiled by javac -->
<phase>process-classes</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
Проблема возникает, когда джунит запускается. Так как он уже сплетал аннотации, связанные с безопасностью, в методах, модульное тестирование не проходит.
Есть ли способ, где я могу заставить джунты работать, а затем делать ткачество аспекта? Поскольку я использую файл.aj отдельно, я не уверен, как можно настроить время загрузки.
Любая помощь по этому вопросу приветствуется.
С уважением
2 ответа
Я реорганизовал свои цели Maven в
аспект теста чистой компиляции:compile
так что после тестирования выполняется ткачество аспекта, и это все, что я хотел.
Я думаю, вам нужно добавить test-compile к вашим целям.
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>