哪种模拟框架是测试EJB的首选框架(特别是消息驱动Beans),我正在研究MockObjects、easyMock、MockEJB和mockito,但都是开放的。
我以前没有使用过mocking框架,我对低学习曲线/很好的入门指南特别感兴趣。
我应该澄清一下,使用EJB2。
发布于 2011-01-25 21:30:46
它不是一个模拟框架,但您可能想看看OpenEJB,它是一个轻量级的EJB容器,尤其适合在单元测试中使用。它将使您不必模拟容器的接口,并且您仍然可以模拟其他组件的接口。
发布于 2011-01-26 01:18:17
一个专门为此构建的框架是Arquillian - http://www.jboss.org/arquillian。
这允许您通过JUnit测试容器内。您可以测试单个bean或更大的集合。您可以通过简单地将其他实现打包到测试归档中来提供模拟。
当使用JavaEE6 (JBoss AS 6,Glassfish V3)时,您可以在嵌入式模式下运行容器,这简化了问题并节省了运行时开销。
不过,众所周知,EJB2很难测试。如果可能的话,我建议您完全放弃它,转而使用EJB3.x,但当然这可能不是您的选择。
发布于 2011-01-25 19:51:25
如果您使用的是EJB 3.x,那么它在很大程度上是基于接口的,因此您通常使用的模拟框架对于单元测试来说就很好了;EJB框架使用代码这一事实实际上并不重要。
然而,EJB2.x是一个不同的(丑陋的)水壶,因为它不符合软件设计的任何正常规则。你最好的选择可能是像Cactus这样的框架。
https://stackoverflow.com/questions/4792955
复制相似问题