Junit выходит из строя из-за аспекта

У меня есть настраиваемая структура безопасности, основанная на аннотациях. Я использую плагин для аспектов 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>

Проблема возникает, когда запускается junit. Поскольку он уже вплел аннотации, связанные с безопасностью, в методы, модульный тест не работает.

Есть ли способ, с помощью которого я могу заставить работать юниты, а затем выполнять аспектное плетение? Поскольку я использую файл .aj отдельно, я не уверен, как можно установить переплетение времени загрузки.

Любая помощь в этом приветствуется.

С уважением


person sathishvisa    schedule 12.02.2013    source источник


Ответы (2)


Я реорганизовал свои цели maven в

чистый аспект компиляции теста j: компилировать

поэтому после тестирования аспекта плетение сделано, чего я и хотел.

person sathishvisa    schedule 10.07.2013

Я думаю, вам нужно добавить test-compile к вашим целям.

<goals>
    <goal>compile</goal>
    <goal>test-compile</goal>
</goals>
person Eric Jablow    schedule 20.02.2013