unit-testing - 如何测试 EJB 3.0?

标签 unit-testing jakarta-ee ejb integration-testing

我正在使用 EJB 3.0,Oracle WebLogic。

在以下问题中需要帮助:

如何测试 EJB (3.0) ? 我的意思是单元测试和/或集成测试?我可以使用某种嵌入式 EJB 容器或为其创建模拟来编写单元测试吗?也许有一些特殊的测试框架或方法? EJB 对我来说并不陌生,但我从未为它们编写过测试。
任何信息都会对我有用。

谢谢。

最佳答案

一种选择是使用嵌入式容器。在每次测试执行时启动,你必须通过 jndi 查找来获取你的 bean,你自己管理容器的配置以及所有无聊的、非生产性的东西。

另一方面,还有像 Arquillian 这样的框架。 ,为你做这件事。它在测试中支持@EJB 之类的注释,并进行 DI、管理容器......阅读他们网站上的指南,这是值得的。

根据我的经验,模拟对于复杂的 ejb 测试不是一个好的解决方案,即使它可以用于测试一些非容器依赖的功能。

我的建议是使用 arquillian。

关于unit-testing - 如何测试 EJB 3.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20665054/

相关文章:

java - 使用 powermockito 模拟 URL 类时出现问题

reactjs - Jest/Enzyme 浅层测试 React 无状态组件 - wrapper.find() 不工作

angular - karma : How to debug a RangeError: Maximum call stack size exceeded?

java - Websphere 7 中的 EJB3 bean JNDI 查找

java - 使用 Java EE/JPA 检索数据库元信息

java - 为什么我们在 Wildfly 中需要以下用于 EJB 3.2 的 jboss jar?

c# - 安装程序似乎没有注册并抛出 MockException

java - 这个java项目需要多长时间才能完成

java - 在 Java EE 应用程序中使用 servlet 中的 bean 类

java - 通过构造函数的依赖注入(inject)不适用于 EJB bean