位置:首页 > > TestNG运行JUnit测试

TestNG运行JUnit测试

现在,您已经了解了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_WORKSPACElibjunit-4.11.jar" org.testng.TestNG testng.xml

在这里,我已经放在了 junit-4.11.jar 在 C:TestNG_WORKSPACElibjunit-4.11.jar下面.

验证输出。

===============================================
Converted JUnit suite

Total tests run: 1, Failures: 0, Skips: 0
===============================================