我们有一个将 weld-se 用于 CDI 的应用程序。 对于我们的 JUnit 测试,我们使用以下技巧启动一个新的 Weld 容器:WeldJUnit4Runner
由于我们有很多测试,每次 Weld 必须启动和初始化时,运行它们都会花费很长时间。有没有什么方法可以“重置” Weld ,这样我们就可以获得一个新的 WeldContainer,而无需 Weld 每次都重新扫描整个类路径?
最佳答案
简短的回答:简单地停止你打开的上下文。
详细答案:使用 Weld Se 进行测试(单元测试)的一种非常简单的方法提供了 Apache 本身的 DeltaSpike 项目 http://deltaspike.apache.org/ .
目前,我还参与了一个开源项目的开发,该项目为您提供了一种方便的方法,可以通过 JUnit Runner 在单元测试中直接使用所有容器服务测试您的 Java EE 应用程序。 https://github.com/NeoMorpheus/BeanTest
关于java - 重置 Weld 的廉价方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21680626/