• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

怎样选择Java测试框架 JUnit还是TestNG?

发布: 2009-7-02 11:07 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 148次 | 进入软件测试论坛讨论

领测软件测试网

最后,两个框架都有自己的长处和弱处,必要时我们可以同时使用。让我们使用这两个伟大的框架,享受编写测试的快乐吧。

  我为什么从JUnit换到了TestNG上——Andres Almiray

  当我开始编写测试程序时候,我选择了JUnit3.x。因为那个时候它是唯一的开源选择,而且有着相当详尽的文档和成堆的书供我参考。在此基础上还有许多扩展如dbUnit,xmlUnit帮助测试一些大型组件。但是如果我们需要面对更多复杂的测试,通常是集成/功能测试,很明显JUnit会力不从心。那就是为什么我换到TestNG上。Cedric和Alexandru TestNG的作者从一开始就很明确,TestNG是为更广的测试场合而设计,而不仅是单元测试。TestNG可以运行没有修改过的JUnit测试,这使得两者的转换非常平滑。

  稍后发布的JUnit4.x在细节上非常类似TestNG,这也弥补了这两个框架的裂痕。TestNG仍然是我最喜欢的,而且它仍然保持更新。现在在开源的Java测试框架中仍然有新进者,easyb,一个基于Groovy行为驱动开发测试工具,为Java和Groovy测试。通过编写合理的测试或是假定一个任务,它可以视为一种规范尽管它是可执行代码。如果你在Ruby世界中使用Rspec一样。

  为什么JUnit仍然是首选——Aslam Khan

  像许多人开始测试驱动开发和单元测试一样,我也是从JUnit3.x起步的。我发现JUnit是最广泛的工具,出现在各种不同的地方(ANT,Maven,Eclipse,IntelliJ IDEA, 等)。它也很容易介绍给那些新团队。我也使用TestNG对它的多样性同样印象深刻。然而,JUnit的大量插件(dbUnit,xmlUnit等)使得Junit仍然是首选的。如果你花大量的时间在Spring上,那么基于Junit的Srping ApplicationContext aware测试用例会带来优势。为了测试前台,我几乎只使用Selenium。我曾经涉足过Canoo和其他的框架,但是发现这些途径都是反TDD模式的。使用Selenium,我可以处理Selenium测试脚本和记录,给任何需要的人并日后处理。

  如果我们谈论的是纯粹的TDD,即书写良好的代码(不仅仅是良好的测试)需要增加一个mock测试。对于mocking,我使用Jmock,它和Junit配合良好,通过基于mock的方式和程序内部边界,我得到了设计良好的,互相通信的对象。这在可读性和可维护性上迈出了重要的一步。EasyMock也不错,但是Jmock是我个人的首选。

  从Java世界上溯到Ruby世界中,RSpec很优秀而且也有DSL来描述场景。既然Rbehave已经融合进了Rspec,这样的整合将成为Ruby世界的首选。有趣的是,Rbehave是从Jbehave衍生来来,它是一个行为驱动开发测试框架。如果你喜欢BDD模式来收集和确定需求,你会喜欢Jbehave和RSpec.


 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网