测试结果报表
- JUnit是单一模式,在界面上显示运行的case数量, Error,Failures和Pass数量,以及显示failure的原因。
- TestNG多屏显示,相对美观点,显示运行的case情况,failed tests的情况以及Summary信息。
注解
- JUnit 支持 @Test, @After, @AfterClass, @Before, @BeforeClass, @Ignore等。
- TestNG除了支持Junit的所有注解,还支持@AfterMethoed, @BeforeMethod等。
执行顺序
- JUnit在JAVA7以后使用执行顺序是不固定的,需要使用Junit的@FixMethodOrder注解来控制测试方法的执行顺序。
- TestNG按照测试类名-方法名的顺序来执行。
测试分组
- Junit测试类或方法用@category来分组,使用Maven的surefire插件来指定需要执行的类或方法。
- TestNG可使用xml文件来控制需要执行测试的类。
测试依赖关系
- JUnit不支持测试方法的依赖关系
- TestNG支持
@Test
public void method1() {}
@Test(dependsOnMethods = {“method1” })
public void method2() {}
Method2是依赖method1的,若method1失败,则不执行method2
综上所属,TestNG的优势较大,编码更灵活,我是在后期做分布式的时候把JUnit的框架换成了TestNG,优势就体现出来了。