现在,您已经了解了TestNG和它的各种测试,如果现在担心如何重构现有的JUnit代码,那就没有必要,使用TestNG提供了一种方法,从JUnit和TestNG按照自己的节奏。也可以使用TestNG执行现有JUnit测试用例。
TestNG可以自动识别和运行JUnit测试,所以你可以使用TestNG运行所有的测试,并编写新的测试使用TestNG。所有你必须做的就是把JUnit的库TestNG的类路径上,它可以发现并使用JUnit类,改变测试运行从JUnit和TestNG Ant中,然后运行TestNG的“mixed”模式。这种方式可以在同一个项目中所有的测试,即使是在同一个包中,并开始使用TestNG。这种方法还可以转换您现有的JUnit测试到TestNG。
让我们来看看下面的例子中,并尝试了上述功能:
创建JUnit测试用例类
创建一个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> 标签如下:
<?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定义在类名。
JUnit 4中,TestNG将使用 org.junit.runner.JUnitCore 运行测试。
所有Java类编译使用javac。
C:\TestNG_WORKSPACE>javac TestJunit.java
现在运行testng.xml,这将运行TestNG的JUnit测试用例。
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下面.
验证输出。
===============================================
Converted JUnit suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================