EJB junit测试的最佳Mock对象框架

时间:2011-01-25 11:29:20

标签: java junit mocking ejb

对于测试EJB(特别是消息驱动的Bean),首选哪种模拟框架,我正在查看MockObjectseasyMockMockEJBmockito但是打开所有框架。

之前我没有使用过模拟框架,对低学习曲线/入门指南特别感兴趣。

我应该使用EJB 2来澄清。

3 个答案:

答案 0 :(得分:4)

专门为此构建的框架是Arquillian - http://www.jboss.org/arquillian

这使您可以通过JUnit测试容器内容。您可以测试单个bean或更大的集合。您可以通过在测试档案中打包其他实现来提供模拟。

使用Java EE 6(JBoss AS 6,Glassfish V3)时,您可以在嵌入式模式下运行容器,这样可以简化操作并节省运行时开销。

虽然EJB2很难测试。如果可能的话,我建议你完全放弃它以支持EJB3.x,但当然这可能不是你的选择。

答案 1 :(得分:2)

如果你正在使用EJB 3.x,那么它是基于接口的,所以你通常的普通模拟框架可以很好地进行单元测试; EJB框架使用代码的事实并不真正相关。

但是,由于它不符合任何通常的软件设计规则,因此EJB 2.x是一个不同的(并且丑陋)鱼的水壶。你最好的选择可能是Cactus这样的框架。

答案 2 :(得分:2)

它不是一个模拟框架,但您可能希望查看OpenEJB,它是一个轻量级EJB容器,适用于单元测试中的其他用途。它将节省您必须模拟容器的接口,并且您仍然可以模拟与其他组件的接口。