如何解决测试框架内的 AspectJ
我正在尝试应用一个横切关注点,它使用 AspectJ 和一个名为 Katalon 的测试框架进行日志记录,该框架使用 Groovy 和 Java。我发现这里最适合的编织类型是加载时编织,它需要一个 meta-inf 文件夹和一个 Aop.xml。我试图将我的 aop.xml 放在多个地方,但我认为 aspectj 无法找到它。 这是我的项目结构:
$ ./bin/artykul dat/captnjack.txt
This
is
a
tale
Of
Captain
Jack
Sparrow
A
Pirate
So
Brave
On
the
Seven
Seas.
这是我的方面:
<aspectj>
<aspects>
<aspect name="com.fd.common.aspectName"/>
<weaver options="-verbose -showweaveInfo">
<include within="com.myapp.common.*"/>
</weaver>
</aspects>
</aspectj>
解决方法
我的第一个猜测是,在没有看过您的真实项目的情况下,您应该将 weaver 选项移出方面声明部分,如下所示:
<aspectj>
<aspects>
<aspect name="com.fd.common.aspectName"/>
</aspects>
<weaver options="-verbose -showWeaveInfo">
<include within="com.myapp.common.*"/>
</weaver>
</aspectj>
如果这没有帮助,我需要更多信息。我以前从未使用过 Katalon,所以我需要检查你的确切项目设置——当然不是你的完整原始项目,如果是专有的。但是请准备一份MCVE复现问题,将其发布到 GitHub 上,我可以帮你找找。我需要看看你如何调用 java 以及记录到控制台的内容。
更新:有一个关于如何使用系统属性 org.aspectj.weaver.loadtime.configuration
以指向备用资源 URL 或文件系统路径名的后续问题。我在 here 之前回答了同样的问题,并且刚刚更新了更多细节。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。