Java測試框架TestNG和JUnit對比

測試結果報表

  • 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,優勢就體現出來了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章