现在您已经了解了TestNG及其各种测试,您现在必须担心如何重构现有的JUnit代码.没有必要担心,因为TestNG提供了一种按照自己的节奏从JUnit转移到TestNG的方法.您可以使用TestNG执行现有的JUnit测试用例.
TestNG可以自动识别并运行JUnit测试,这样您就可以使用TestNG作为所有现有测试的跑步者并使用TestNG的.您所要做的就是将JUnit库放在TestNG类路径上,这样它就可以找到并使用JUnit类,将测试运行器从JUnit更改为Ant中的TestNG,然后以"混合"模式运行TestNG.这样,您可以在同一个项目中进行所有测试,即使是在同一个包中,也可以开始使用TestNG.这种方法还允许您逐步将现有的JUnit测试转换为TestNG.
让我们举一个例子来演示TestNG的这种惊人的能力.
创建JUnit测试用例类
在 C:\> TestNG_WORKSPACE 中创建一个java类,它是一个JUnit测试类,TestJunit.java.
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); }}
现在,让我们在 C:\> TestNG_WORKSPACE ,包含< suite>标记如下 :
要执行JUnit测试用例,请在上面的xml中定义属性 junit ="true". JUnit测试用例类TestJunit在类名中定义.
对于JUnit 4,TestNG将使用 org.junit.runner.JUnitCore 运行程序来运行测试.
使用javac编译所有java类.
C:\TestNG_WORKSPACE>javac TestJunit.java
现在,运行testng.xml,它将运行JUnit测试用例作为TestNG.
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===============================================