http://www.ibm.com/developerworks/cn/java/j-cq08296/html
http://blog.csdn.net/jmyue/article/details/9041357java
http://www.importnew.com/16270.html數據庫
TestNG與JUnit的相同點:框架
1. 使用annotation,且大部分annotation相同。eclipse
2. 均可以進行單元測試(Unit test)。yii
3. 都是針對Java測試的工具。socket
TestNG與JUnit的不一樣點:ide
1. JUnit只能進行單元測試,TestNG能夠進行單元測試,功能測試,端到端測試,集成測試等。函數
2. TestNG須要一個額外的xml配置文件,配置測試的class、method甚至package。工具
3. TestNG的運行方式更加靈活:命令行、ant和IDE,JUnit只能使用IDE。
4. TestNG的annotation更加豐富,好比@ExpectedExceptions、@DataProvider等。
5. 測試套件運行失敗,JUnit 4會從新運行整個測試套件。TestNG運行失敗時,會建立一個XML文件說明失敗的測試,利用這個文件執行程序,就不會重複運行已經成功的測試。
在 JUnit 中我必須把@BeforeClass 修飾的方法聲明爲 static,這又要求我把 fixture,即 finder 聲明爲 static。我還必須把 init() 聲明爲 public。TestNG,您就會發現不一樣。這裏再也不須要那些規則了。個人 init() 方法既不是 static,也不是 public。
JUnit 框架想達到的一個目標就是測試隔離。它的缺點是:人們很難肯定測試用例執行的順序,而這對於任何類型的依賴性測試都很是重要。開發者們使用了多種技術來解決這個問題,例如,按字母順序指定測試用例,或是更多地依靠 fixture 來適當地解決問題。
與 JUnit 不一樣,TestNG 利用 Test 註釋的 dependsOnMethods 屬性來應對測試的依賴性問題。有了這個便利的特性,就能夠輕鬆指定依賴方法。例如,前面所說的登陸將在某個方法以前 運行。此外,若是依賴方法失敗,它將被跳過,而不是標記爲失敗。
一旦 TestNG 中出現失敗,它就會建立一個 XML 配置文件,對失敗的測試加以說明。若是利用這個文件執行 TestNG 運行程序,TestNG 就只運行失敗的測試。
經過在 TestNG 的 XML 配置文件中放入參數化數據,就能夠對不一樣的數據集重用同一個測試用例,甚至有可能會獲得不一樣的結果。這種技術完美地避免了只能 假定一切正常的測試,或是沒有對邊界進行有效驗證的狀況。
儘管從一個 XML 文件中抽取數據會很方便,但偶爾會有些測試須要有複雜類型,這些類型沒法用 String 或原語值來表示。TestNG 能夠經過它的 @DataProvider 註釋處理這樣的狀況。@DataProvider 註釋能夠方便地把複雜參數類型映射到某個測試方法。
http://blog.sina.com.cn/s/blog_8af106960102v6qh.html
https://www.ibm.com/developerworks/cn/java/j-lo-junit4/
能夠生成html形式可是試驗沒有成功
http://www.cnblogs.com/nexiyi/p/junit_test_in_order.html
寫了一堆的test case,但願某一些test case必須在某個test case以後執行。好比,測試某一個Dao代碼,但願添加的case在最前面,而後是修改或者查詢,最後纔是刪除,之前的作法把全部的方法都集中到某一個方法去執行,一個個羅列好,比較麻煩。比較幸福的事情就是JUnit4.11以後提供了MethodSorters,能夠有三種方式對test執行順序進行指定
https://netbeans.org/kb/docs/java/junit-intro_zh_CN.html#Exercise_31
JUnit 框架主要聚焦於測試的隔離,暫時還不支持這個特性。
http://blog.csdn.net/lhy_ycu/article/details/45281449
注意事項:
1)Junit的原則:keep the bar green to keep the code clean。2)測試類與(源代碼)目標類的包名儘可能要一致,最終它們都會被編譯到同一個目錄下面,這樣就不用導入源代碼所在的包。
3) 測試類的命名規則:測試類類名 = 目標類類名前或後加Test; 注意要統一。
4) 測試類必須繼承TestCase; 測試用例(方法/類)與測試用例之間必定是徹底獨立的,不容許出現任何的依賴關係。同時也不能依賴測試方法的執行順序,也就是刪除或註釋掉某個測試方法後,其餘的測試方法依然可以執行。
5) 測試源代碼的私有方法能夠採起兩種方式:1、修改目標方法的訪問修飾符(將private修改成public,通常不推薦);2、使用反射在測試類中調用目標類的私有方法。
http://testng.org/doc/index.html
地址輸入
testng - http://beust.com/eclipse
如何找到該地址
http://www.yiibai.com/testng/20130913292.html
http://testng.org/doc/eclipse.html#eclipse-viewing
http://www.ibm.com/developerworks/cn/java/j-test-ng/
http://www.ibm.com/developerworks/cn/java/j-testng/index.html 包含測試代碼連接
Software caused connection abort: socket write error
解決從新安裝testng插件或者更換eclipse