
- TestNG 教程
- TestNG - 首页
- TestNG - 概述
- TestNG - 环境配置
- TestNG - 测试编写
- TestNG - 基本注解
- TestNG - 执行流程
- TestNG - 执行测试
- TestNG - 套件测试
- TestNG - 忽略测试
- TestNG - 分组测试
- TestNG - 异常测试
- TestNG - 依赖测试
- TestNG - 参数化测试
- TestNG - 运行JUnit测试
- TestNG - 测试结果
- TestNG - 注解转换器
- TestNG - 断言
- TestNG - 并行执行
- TestNG - 与Ant集成
- TestNG - 与Eclipse集成
- TestNG - TestNG vs JUnit
- TestNG 有用资源
- TestNG - 快速指南
- TestNG - 有用资源
- TestNG - 讨论
TestNG - 运行JUnit测试
现在您已经了解了 TestNG 及其各种测试,您可能开始担心如何重构现有的 JUnit 代码。无需担心,TestNG 提供了一种以您自己的节奏从 JUnit 切换到 TestNG 的方法。您可以使用 TestNG 执行现有的 JUnit 测试用例。
TestNG 可以自动识别并运行 JUnit 测试,因此您可以将 TestNG 用作所有现有测试的运行器,并使用 TestNG 编写新的测试。您只需将 JUnit 库放在 TestNG 类路径上,以便它可以找到并使用 JUnit 类,在 Ant 中将您的测试运行器从 JUnit 更改为 TestNG,然后以“混合”模式运行 TestNG。这样,您可以将所有测试放在同一个项目中,甚至同一个包中,并开始使用 TestNG。这种方法还可以让您逐步将现有的 JUnit 测试转换为 TestNG。
让我们来看一个例子来演示 TestNG 的这一惊人能力。
创建 JUnit 测试用例类
创建一个 Java 类,这是一个 JUnit 测试类,TestJunit.java,位于 **`/work/testng/src`**。
import org.junit.Test; import static org.testng.AssertJUnit.*; public class TestJunit { @Test public void testAdd() { String str = "Junit testing using TestNG"; assertEquals("Junit testing using TestNG",str); } }
现在,让我们在 **`/work/testng/src`** 中编写 testng.xml,它将包含如下所示的 <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 运行器来运行您的测试。
使用 javac 编译所有 Java 类。
/work/testng/src$ javac TestJunit.java
现在,运行 testng.xml,它将作为 TestNG 运行 JUnit 测试用例。
/work/testng/src$java -cp "/work/testng/src/junit-4.13.2.jar:/work/testng/src/hamcrest-core-1.3.jar" org.testng.TestNG testng.xml
在这里,我们将依赖的 JAR 文件 junit-4.13.2.jar 和 hamcrest-core-1.3.jar 放置在 `/work/testng/src/` 下。
验证输出。
=============================================== Converted JUnit suite Total tests run: 1, Passes: 1, Failures: 0, Skips: 0 ===============================================