使用EJB 3/JPA开始一个新项目,主要是无状态会话bean和批处理作业。我过去在标准的Java webapps上使用过JUnit,它看起来工作得很好。在EJB2单元测试中很痛苦,并且需要一个运行的容器(如JBoss)来调用。现在我们将在EJB3/JPA中工作,我想知道哪些公司正在使用来编写和运行这些测试。 Junit和JMock仍然认为是相关的,还是有其他更新的框架出现,我们应该调查?最新的单元测试框架EJB3/JPA
回答
恕我直言,是的,他们仍然相关。
使用EJB3,您可以像测试普通POJO一样测试EJB,或者使用嵌入式EJB容器作为托管bean。
与JPA相同,您可以为测试嵌入JPA实现并使用内存数据库,也可以完全模拟数据层。
对于我的最后一个EJB项目,我写了一些glue code来测试EJB,因为嵌入式EJB容器还不够成熟,但现在我会选择嵌入式EJB容器+ JUnit。
一些资源
但也有不少人容易玛丽萨
对于单元测试,你可以使用JUnit,TestNG的和你喜欢模拟框架(EasyMock,Mockito,PowerMock,JMockit,JMock)。
对于集成测试,您可以从测试中启动/停止一个可嵌入容器(JBoss,OpenEJB,GlassFish v3)。或者,看看Arquillian,为Java EE应用程序的集成测试非常最近新球员:
中的Arquillian项目的使命是提供一个简单的测试工具,开发人员可以用它来产生了广泛的他们的Java应用程序(很可能是企业应用程序)的集成测试。测试用例可以在容器内执行,与被测代码一起部署,或者通过与容器协调,充当部署代码的客户端。为了避免在开发人员的构建环境中引入不必要的复杂性,Arquillian透明地集成了熟悉的测试框架(例如JUnit 4,TestNG 5),允许使用现有IDE,Ant和Maven测试插件启动测试,无需任何附加组件。
还检查Improving the Testability of Java EE With Arquillian 1.0.0 Alpha 1 Released和Arquillan空间。看起来很有趣的IMO。
一个选择也是使用Spring,但是当然你的架构也将在运行时也基于Spring。我喜欢春天的原因是,它很容易注入在测试阶段需要什么都模拟数据和对象,你可以在JUnit测试案例注释要使用的背景文件:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:test-context.xml"})
public class MyClassTest {
@Autowired
private MyClass myClass;
@Test
public void testMyMethod() {....}
但是,如果你不不管怎么说都不想用Spring,那么这就完全不相关了:)另一方面,之后很容易从Spring中退出。
我会建议Arquillian。 使用Arquillian,您可以选择测试普通的EJB或CDI bean。您可以将您的测试再次运行为嵌入式,托管或远程EE容器。该Arquillian项目不断维持...
然而,它并不总是那么容易,使您的第一次arquillian测试运行。您可能在查找正确的arquillian版本和容器版本的依赖关系时遇到问题。我已经发布了关于此的教程序列。但为了不让我怀疑推广,链接不在这里发布。如果你喜欢,你可以只是谷歌“与Arquillian part1教程EJB3集成测试”。
- 1. Clojure的最佳单元测试框架?
- 2. WPF单元测试框架
- 3. Zend框架单元测试
- 4. ColdFusion单元测试框架
- 5. Silverlight的单元测试框架重新运行测试
- 6. 具有ms单元测试框架的单元测试实体框架
- 7. 单元测试使用茉莉花单元测试框架node.js
- 8. .NET Framework 3.5的单元测试框架?
- 9. MATLAB的单元测试框架
- 10. CMake的C单元测试框架
- 11. ASP.NET MVC的单元测试框架?
- 12. C++的单元测试框架
- 13. Django的REST框架单元测试
- 14. Visual Studio的C#单元测试框架?
- 15. bean比较的单元测试框架
- 16. 老派QNX的最佳单元测试框架?
- 17. 什么是JavaME中单元测试的最佳框架?
- 18. 最喜欢的.NET单元测试框架
- 19. MSTest&Silverlight单元测试框架教程
- 20. 通用单元测试框架
- 21. 哪个单元测试框架?
- 22. x单元测试框架C
- 23. iPhone单元测试使用SenTesting框架
- 24. 安装设备单元测试框架
- 25. 单元测试同步框架
- 26. VS 11单元测试框架
- 27. 实体框架6和单元测试
- 28. 声纳C单元测试框架
- 29. AS3单元测试框架或库
- 30. 单元测试实体框架