Junit 3,Junit 4,TestNG有什么区别?

时间:2011-08-09 10:09:41

标签: java junit testng junit4 junit3

JUnit 3,JUnit 4,硒中的TestNG在这三个测试框架中如何以不同的方式实现硒的区别是什么?

任何人都可以清楚解释..

先谢谢..

1 个答案:

答案 0 :(得分:6)

  1. TestNG处理测试用例之间的依赖关系。如果一个测试用例失败导致一组测试用例失败,它会跳过该组并执行测试套件的其余部分。依赖于失败的测试用例的组被报告为已跳过但未失败。

    在Junit中,一个测试用例失败可能导致测试套件中的一堆测试用例失败。没有选项可以跳过一组依赖的测试用例。依赖测试用例也报告为失败。例如,假设有一个测试用例来测试登录,接下来的10个测试用例需要在登录后执行一个事务。如果登录测试用例失败,则其他10个测试用例也将失败。

  2. 可以定义TestNG组。 组是测试套件的特定子集。我们可以选择仅运行测试套件的特定子集,而不是运行整个测试套件。这可以通过以下方式完成:

    在测试用例中,我们定义了两个DBTestcase组,并弃用如下:

    @Test(groups = {"DBTestcase", "deprecated"})
    public void testMethod2()
    {
    
    }
    

    在Junit很长一段时间内,无法运行测试用例的特定子集。我们可以运行整个套件,也可以单独运行每个测试用例。 Junit 4.8引入了一项名为“类别”的新功能来克服此限制。但是,在TestNG中更容易配置组。

    因此,如果您有junit 3.x系列,则无法定义组。但junit 4.8及以上版本支持它。