在Maven Web应用程序的单元测试期间beans.xml的位置

时间:2018-03-04 21:00:43

标签: java maven cdi weld deltaspike

我使用Deltaspike CdiControl为我的单元测试启动CDI容器。这很好,但是有一个问题:如果我将这种方法用于Maven网络应用,beans.xml最终会出现在src/main/webapp/WEB-INF中。这意味着它在单元测试期间不在目标文件夹的META-INF目录中。

由于单元测试本身不是webapp而是Java SE运行,因此忽略WEB-INF目录。我可以通过向beans.xml添加第二个META-INF和/或将现有beans.xml复制到右侧文件夹进行单元测试来解决此问题。但这意味着我必须手动将它排除在战争之外,所以看起来有点像黑客。

beans.xml放入src/test/resources/META-INF不起作用,因为它只允许检测target/test-classes中的CDI组件。

这似乎是一个常见的问题,我认为有人必须在此之前碰到这个问题?或者每个人都有一个单独的Maven模块用于组件和/或单元测试?

0 个答案:

没有答案