虽然我已经用 Java 编程了大约 3 年多了(不是日常工作,但至少我了解基础知识),但还没有真正进入单元测试领域......

我现在的工作更多以测试/问题分析为导向,所以我认为一个好的Java单元测试框架将对这个角色非常有帮助。

显然,我的团队没有关于使用哪个框架的正式规则。所以只是想知道,作为初学者,哪个框架适合快速入门?

朱尼特?

测试NG?

或者是其他东西?

编辑:与亚马逊上的 TestNG 相比,JUnit 似乎有更多的印刷书籍作为参考。但目前我不知道它们在 Java 行业的受欢迎程度/趋势。

有帮助吗?

解决方案

我是 TestNG 的创建者和“下一代测试”一书的作者,所以这里有一些(显然有偏见的)想法。

对于功能(或端到端/集成/系统,无论您喜欢什么术语)测试,TestNG 提供了一些 JUnit 不具备但用户发现非常有用的功能:

  • 团体。编译完测试后,您可以要求 TestNG 运行所有“前端”测试,或“快”、“慢”、“数据库”等......

  • 支持多线程测试。这有两个不同的含义:

1) 您可以告诉 TestNG 在您定义的线程池中同时运行所有测试(XML 文件中的一行更改)。这是非常可配置的,因此非多线程的测试仍然可以在单线程中运行。

2) 您可以告诉 TestNG 从 p 个线程调用您的测试方法 n 次。这可以让您很好地了解正在测试的代码的线程安全性。

  • 测试依赖性和确定性排序。这对于集成测试非常有用,在集成测试中,经常会看到需要先前的测试方法才能成功才能运行的测试方法。由于这个特定原因,TestNG 在 Selenium 社区中非常受欢迎(“如果登录测试失败,请不要测试我网站的此页面”)。

测试依赖项的另一个直接优势是 TestNG 可以告诉您“1 个方法失败,跳过了 99 个方法”,这是比“100 个方法失败”更准确的结果。

TestNG 有很多很多的功能,我很高兴在这里或我们的邮件列表上回答问题(http://groups.google.com/group/testng-users ).

其他提示

我想学习TestNG和 Unitils 。涵盖我所有的需求,所有的时间。添加XMLUnit测试和DBUnit的,你应该很长一段时间来解决。

老实说我JUnit是方式比TestNG的更受欢迎,至少在这里,我的工作和生活。我知道这可能是一个奇怪的说法,但如果我是你,我会通过一些工作增加了扫描,看看哪个框架确实在您所在地区/国家青睐的行业(例如我要去选择JUnit正因为如此,我的意思是相信我可以学习TestNG的,它可能会变成更好,但它会做什么,对我很好,如果所有的雇主要求JUnit的知识呢?)。

虽然这似乎是一个小的标准,所有的事情都是平等的,它看起来像工作指数严重偏向JUnit的。

http://www.indeed.com/jobtrends?q= TestNG的%2C +的JUnit&升=

这两个做好本职工作同样出色,所以没有对错之分。您可以与众多的框架组合使用这两种,以帮助支持你的发展。

如果你需要工作,为客户端,你可以了解一个你预计使用。如果不是,最好的办法是尝试他们两个,并找出最适合你。

我用两个后发现,单元测试的JUnit只工作得非常好,但在测试中我会推荐TestNG的系统方面。 TestNG的提供一些额外的功能(如参数测试),并具有高度的灵活性。例如,在JUnit的一个测试在一套房失败通常意味着你必须重新运行你的整个套件,但TestNG中,你可以简单地重新运行失败的测试。下面有一个很好的文章概述了两者(其有点偏向TestNG的虽然)

http://www.ibm.com/developerworks /java/library/j-cq08296/index.html

JUnit是相当不错,在众多的IDE包括Eclipse,和JUnit 4注释支持是相当不错的工作用。

除非你有特定的需求,然后去工具的支持,即JUnit的。

TestNG和Unitils实在是太棒了。它涵盖了几乎所有的要求。 Unitils支持很多断言utils的,弹簧,休眠,嘲笑框架,dbutils等

对于我来说,这只是一个品味的问题。我personnaly日常使用JUnit的超过5年了,我很满意,尤其是最后的版本,其@rule功能,防止我的团队中反复书面方式相同的代码。 IDE,构建,持续集成...

:这一切我每天都在使用的工具很好地集成

JUnit是有名的和最好的单元测试工具,我想你和我都知道JUnit是如此的重要,使Java开发人员改变他们的编码模式JUnit的贡献,你可以学到一些Junit的基本单元测试技术,以及学习TestNG的作为第二单元的测试技术。

下面的链接也许对您有用! http://www.javarmi.com / 2010/08 /的junit -4-教程和 - 例如-GET-开始/

的Junit是开始的最佳位置。 JUnit 4.x之后有许多丰富的功能,如注释等从流行的框架以及其获得良好的支持,比如Spring。

我会去JUnit的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top