如今,您已經瞭解了TestNG和它的各類測試,若是如今擔憂如何重構現有的JUnit代碼,那就沒有必要,使用TestNG提供了一種方法,從JUnit和TestNG按照本身的節奏。也能夠使用TestNG執行現有JUnit測試用例。html
TestNG能夠自動識別和運行JUnit測試,因此你能夠使用TestNG運行全部的測試,並編寫新的測試使用TestNG。全部你必須作的就是把JUnit的庫TestNG的類路徑上,它能夠發現並使用JUnit類,改變測試運行從JUnit和TestNG Ant中,而後運行TestNG的「mixed」模式。這種方式能夠在同一個項目中全部的測試,即便是在同一個包中,並開始使用TestNG。這種方法還能夠轉換您現有的JUnit測試到TestNG。java
讓咱們來看看下面的例子中,並嘗試了上述功能:yii
建立一個Java類,這是一個JUnit測試類, TestJunit.java 在 C:\ > TestNG_WORKSPACE測試
import org.junit.Test; import static org.testng.AssertJUnit.assertEquals; public class TestJunit { @Test public void testAdd() { String str= "Junit testing using TestNG"; assertEquals("Junit testing using TestNG",str); } }
如今,讓咱們來編寫 testng.xml 在 C:\ > TestNG_WORKSPACE 應該包涵 <suite> 標籤以下:ui
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Converted JUnit suite" > <test name="JUnitTests" junit="true"> <classes> <class name="TestJunit" /> </classes> </test> </suite>
要執行JUnit測試用例定義屬性 junit="true" 如上面的xml文件中. JUnit測試用例類TestJunit定義在類名。spa
JUnit 4中,TestNG將使用 org.junit.runner.JUnitCore 運行測試。xml
全部Java類編譯使用javac。htm
C:\TestNG_WORKSPACE>javac TestJunit.java
如今運行testng.xml,這將運行TestNG的JUnit測試用例。ip
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE:C:\TestNG_WORKSPACE\lib\junit-4.11.jar" org.testng.TestNG testng.xml
在這裏,我已經放在了 junit-4.11.jar 在 C:\TestNG_WORKSPACE\lib\junit-4.11.jar下面.get
驗證輸出。
=============================================== Converted JUnit suite Total tests run: 1, Failures: 0, Skips: 0 ===============================================