在一个Maven Project A中,有一些JAVA组件进行了几个JUNIT测试。
我的目标是将方面(使用FactionsJ)应用于组件类,然后执行JUNIT测试。该方面将对组件方法调用进行一些计数。 我知道编织代码的不同方法(编译,编译后,加载时间)。 我也知道我想使用的aspectj-maven-plugin
我面临的挑战是,我不想触摸任何项目A的代码,例如更改pom.xml或添加该方面。 另外,我想使用Maven Target进行项目A的JUNIT测试。
所以我的问题是如何设置/配置另一个Maven项目B关键了我的方面
编织项目A
的组件类别Mabe重新包装编织类
如果单位测试现场在模块A中,为什么不想触摸同一模块?具体来说,为什么您甚至不想触摸POM以确保方面编织?那似乎是不自然的。您对此没有很好的解释。 “我不想”不计算。
从模块B,您不能仅执行模块A的单元测试,除非您当然在A中创建一个测试罐并依赖于B。但是,即使为此,您也需要触摸POM A才能构建测试罐
:
将测试方面作为测试类。运行测试时,请使用加载时间编织(LTW),可以在SureFire或FailSafe中轻松配置。这样,应用程序代码在测试过程中仍无法使用,并且您的方面仍在应用。
我的建议是保持简单,并以降低的优先顺序使用模拟工具或选项1或2之一。
P.S。