плагин maven и aspectj - тесты зависают - PullRequest
1 голос
/ 16 февраля 2011

Я использую aspectj-maven-plugin, когда пытаюсь внедрить мой аспект в мое приложение. Проблема, которую я вижу, состоит в том, что компиляция и переплетение, кажется, работают нормально, но всякий раз, когда они доходят до фазы тестирования, они просто зависают. Я включил раздел из моего pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.3</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>1.6.7</version>
    </dependency>
</dependencies>

Это вывод, который я получаю:

[INFO] Compiling 7 source files to /home/***/target/classes
[INFO] [aspectj:compile {execution: default}]
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/***/src/test/resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 5 source files to /home/***/target/test-classes
[INFO] [aspectj:test-compile {execution: default}]
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: /home/***/surefire-reports

-------------------------------------------------------
  T E S T S
-------------------------------------------------------
Running com.example.MyTest

Кто-нибудь еще видел такое поведение / знает, как это исправить?

1 Ответ

2 голосов
/ 16 февраля 2011

Поместите это здесь на случай, если кто-то поступит так, как я. Причина, по которой тест зависал, заключалась в аспекте pointcut.

call(* *.*(..))

После этого у меня был совет, который был вызван перед pointcut. Однако это создавало циклическое условие, и зависало мои тесты. DOH!

...