Java 重置焊缝的廉价方法?
我们有一个将weld se用于CDI的应用程序。 对于JUnit测试,我们使用以下技巧启动一个新的焊接容器:Java 重置焊缝的廉价方法?,java,jakarta-ee,cdi,weld,Java,Jakarta Ee,Cdi,Weld,我们有一个将weld se用于CDI的应用程序。 对于JUnit测试,我们使用以下技巧启动一个新的焊接容器: 因为我们有很多测试,每次Weld启动和初始化时运行它们都需要很长时间。有没有什么方法可以“重置”weld,这样我们就可以得到一个新的WeldContainer,而不必每次都重新扫描整个类路径?如果您能够牺牲隔离来提高速度,请查看的weld测试容器 这不会重置测试之间的焊接,但只要所有测试都在同一个库/项目/Maven模块中,整个测试套件只会启动一次焊接 请参阅。简短回答:只需停止打开上下
因为我们有很多测试,每次Weld启动和初始化时运行它们都需要很长时间。有没有什么方法可以“重置”weld,这样我们就可以得到一个新的WeldContainer,而不必每次都重新扫描整个类路径?如果您能够牺牲隔离来提高速度,请查看的weld测试容器 这不会重置测试之间的焊接,但只要所有测试都在同一个库/项目/Maven模块中,整个测试套件只会启动一次焊接
请参阅。简短回答:只需停止打开上下文即可 详细回答:使用Weld Se进行测试(单元测试)的一种非常简单的方法提供了Apache本身的DeltaSpike项目 目前,我还参与了一个开源项目的开发,该项目为您提供了一种方便的方法,通过JUnit Runner在单元测试中直接使用所有容器服务测试JavaEE应用程序
另请看一下唯一的解决方案是将您的测试放在同一个测试类中。这就是我们在使用ArquillianI测试CDI时所做的,我会使用CdiTestRunner(请参阅),这太棒了!