我该如何测试EJB 3.0?

joh*_*ohn 5 integration-testing unit-testing ejb java-ee

我使用的是EJB 3.0,Oracle WebLogic.

在以下问题中需要帮助:

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

谢谢.

小智 6

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

另一方面,像Arquillian这样的框架可以帮到你.它在测试中支持@EJB等注释,并且DI管理容器....阅读他们网站上的指南,值得.

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

我的建议是用arquillian进行的.