java - 重置 Weld 的廉价方法?

标签 java jakarta-ee cdi weld

我们有一个将 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

另请查看 jglue.org/cdi-unit-user-guide/

关于java - 重置 Weld 的廉价方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21680626/

相关文章:

java - onSharedPreferenceChanged 不更新首选项

java - JSTL 将字符串视为表达式语言

java - 在注入(inject)对象时强制创建对象的新实例

java - Cloud Endpoints 自定义域解决方法

java - JodaTime,实例化一个类

java - 从 clojure 创建 Java 对象

java - 在 Jhipster 中添加新服务时出现代码错误 500

java - 避免多项目环境中模糊依赖关系的众所周知的策略

java - CDI:如何动态注入(inject)一组类?

jakarta-ee - 为什么我的拦截器不工作?