Maven 测试用例不调用 AspectJ 方面

Maven testcases are not invoking AspectJ Aspects

我添加了 Junit 测试用例来调用带有 Annotation 的方法,而 Annotation 又具有 Around 方面。当我 运行 mvn test 命令时,由于某种原因没有调用方面。

但是当我使用 mvn package 和 运行 jar 构建 jar 时,将调用方面。

这是代码 - https://github.com/chandru-kumar/aop-example

有人可以帮忙吗?如何为 mvn test 调用方面?

如果您针对已由 AspectJ 编译器编译的 应用程序 classes 进行测试,您的测试将会成功。但是您正在尝试针对 test class 来测试方面。这也是可能的,但在那种情况下,您需要告诉 AspectJ Maven 也实际负责编译测试 classes:

<execution>
  <goals>
    <goal>test-compile</goal>
    <goal>compile</goal>
  </goals>
</execution>

P.S.: 感谢您提供 MCVE。大多数 Whosebug 新手都忘记了这一点。它帮助我轻松识别问题,在这种情况下甚至无需克隆存储库。但有时并没有那么简单,这时我需要编译 运行 示例程序。无论如何,保持良好的习惯!