问题描述
我添加了 Junit 测试用例来调用带有 Annotation 的方法,而 Annotation 又具有 around 方面。当我运行 mvn test
命令时,由于某种原因没有调用 Aspect。
但是当我使用 mvn package
构建 jar 并运行该 jar 时,会调用 Aspects。
这是代码 - https://github.com/chandru-kumar/aop-example
有人可以帮忙吗?如何为 mvn test
调用方面?
解决方法
如果您针对应用程序类(已由 AspectJ 编译器编译)进行测试,那么您的测试将起作用。但是您正在尝试针对测试类测试方面。这也是可能的,但在这种情况下,您需要告诉 AspectJ Maven 实际上也负责编译测试类:
<execution>
<goals>
<goal>test-compile</goal>
<goal>compile</goal>
</goals>
</execution>
P.S.:感谢您提供 MCVE。大多数 StackOverflow 新手都忘记了这一点。它帮助我轻松识别问题,在这种情况下,甚至无需克隆存储库。但有时并不是那么简单,那么我需要编译并运行示例程序。无论如何,保持良好的做法! ?