单元测试框架 TestNG VS Junit4

2021-03-04 10:36:16 浏览数 (1)

我们用得最多的基本单元测试框架是junit和testng,下面对这两个工具做个对比。

功能比较

项目

注解

异常测试

忽略测试

超时测试

套件测试

分组 参数化(单值)

参数化(对象)

依赖测试

并发测试

TestNG

Y

Y

Y

Y

Y

Y

Y

Y

Y

Junit4

Y

Y

Y

Y

Y

N

Y

N

N

注解支持

描述

JUnit 4

TestNG

测试注解

@Test

@Test

在套件中的所有测试运行之前运行

未实现

@BeforeSuite

在套件中的所有测试运行之后运行

未实现

@AfterSuite

测试之前运行

未实现

@BeforeTest

测试之后运行

未实现

@AfterTest

在调用属于任何这些组的第一个测试方法之前运行

未实现

@BeforeGroups

在调用属于任何这些组的第一个测试方法之后运行

未实现

@AfterGroups

在调用当前类的第一个测试方法之前运行

@BeforeClass

@BeforeClass

在调用当前类的第一个测试方法之后运行

@AfterClass

@AfterClass

在每个测试方法之前运行

@Before

@BeforeMethod

在每个测试方法之后运行

@After

@AfterMethod

忽略测试

@ignore

@Test(enbale=false)

预期的异常

@Test(expected = ArithmeticException.class)

@Test(expectedExceptions = ArithmeticException.class)

超时测试

@Test(timeout = 1000)

@Test(timeout = 1000)

参数化测试

@RunWith和@Parameter联合

@DataProvider

通过上面的对比可以看出,TestNG作为Java项目的单元测试框架是更有优势的,TestNG在参数化测试、依赖测试、套件测试、分组测试、并发测试等方面都比Junit4强,同时,TestNG涵盖了JUnit4的全部功能。

0 人点赞