Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重置焊缝的廉价方法?_Java_Jakarta Ee_Cdi_Weld - Fatal编程技术网

Java 重置焊缝的廉价方法?

Java 重置焊缝的廉价方法?,java,jakarta-ee,cdi,weld,Java,Jakarta Ee,Cdi,Weld,我们有一个将weld se用于CDI的应用程序。 对于JUnit测试,我们使用以下技巧启动一个新的焊接容器: 因为我们有很多测试,每次Weld启动和初始化时运行它们都需要很长时间。有没有什么方法可以“重置”weld,这样我们就可以得到一个新的WeldContainer,而不必每次都重新扫描整个类路径?如果您能够牺牲隔离来提高速度,请查看的weld测试容器 这不会重置测试之间的焊接,但只要所有测试都在同一个库/项目/Maven模块中,整个测试套件只会启动一次焊接 请参阅。简短回答:只需停止打开上下

我们有一个将weld se用于CDI的应用程序。 对于JUnit测试,我们使用以下技巧启动一个新的焊接容器:


因为我们有很多测试,每次Weld启动和初始化时运行它们都需要很长时间。有没有什么方法可以“重置”weld,这样我们就可以得到一个新的WeldContainer,而不必每次都重新扫描整个类路径?

如果您能够牺牲隔离来提高速度,请查看的weld测试容器

这不会重置测试之间的焊接,但只要所有测试都在同一个库/项目/Maven模块中,整个测试套件只会启动一次焊接


请参阅。

简短回答:只需停止打开上下文即可

详细回答:使用Weld Se进行测试(单元测试)的一种非常简单的方法提供了Apache本身的DeltaSpike项目

目前,我还参与了一个开源项目的开发,该项目为您提供了一种方便的方法,通过JUnit Runner在单元测试中直接使用所有容器服务测试JavaEE应用程序


另请看一下

唯一的解决方案是将您的测试放在同一个测试类中。这就是我们在使用ArquillianI测试CDI时所做的,我会使用CdiTestRunner(请参阅),这太棒了!