TestNG - 运行JUnit测试

现在您已经了解了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>标记如下 :

<?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测试用例,请在上面的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
===============================================