測試結果報表
- 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,優勢就體現出來了。