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