TestNG Hello World入門示例

作爲一個經典的入門例子,這裏展示如何開始使用TestNG單元測試框架。

使用的工具 :

  • TestNG 6.8.7
  • Maven 3
  • Eclipse IDE

TestNG下載並安裝

從這裏 http://testng.org/doc/download.html 下載當前版本的TestNG,打開zip分發來獲取TestNG解壓縮文件,其中包含以下子文件:

  • Testng-6.jar(請直接添加到您的項目中,也可能無法僅使用此jar來成功構建代碼,因爲TestNG官方版本不包括所有外部jar文件,以減少包的大小)
  • 文檔(TestNG教程資料)
  • 示例代碼
  • Testng 源代碼
  • Readme文檔

對於初學者,強烈建議您從示例代碼和文檔開始和編寫TestNG。

如果您使用Eclipse IDE,建議按照以下方法插件,建議使用更新站點:

對於Eclipse 3.4及更高版本,請輸入 http://beust.com/eclipse
對於Eclipse 3.3及更低版本,請輸入 http://beust.com/eclipse1

在Eclipse插件中安裝如下 -

TestNG

實例

打開 Eclipse創建一個 Maven 項目,其項目結構如下所示 -

TestNG

1. TestNG依賴關係

pom.xml中添加TestNG庫,如下代碼所示 -

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.yiibai</groupId>
    <artifactId>TestHelloWorld</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>TestHelloWorld</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.8.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

2. TestNG示例

com.yiibai包上創建一個 TestNg 類,如下圖所示 -

TestNG

選擇 TestNG class如下圖所示 -

TestNG

寫入類的名稱:TestHelloWorld,如下所示 -

TestNG

文件:TestHelloWorld.java 代碼如下 -

package com.yiibai;

import org.testng.Assert;
import org.testng.annotations.Test;


public class TestHelloWorld {

    @Test()
    public void testEmailGenerator() {

        RandomEmailGenerator obj = new RandomEmailGenerator();
        String email = obj.generate();

        Assert.assertNotNull(email);
        Assert.assertEquals(email, "[email protected]");

    }

}

再創建一個簡單的Java類,它在方法中返回一個固定電子郵件: 「[[email protected]](mailto:[email protected])」.
文件:RandomEmailGenerator.java 代碼如下 -

package com.yiibai;

//import org.springframework.stereotype.Service;

public class RandomEmailGenerator {

    public String generate() {
        return "[email protected]";
    }

}

完成後,創建一個簡單的TestNG測試用例,此測試確保RandomEmailGenerator.generate()始終返回「[[email protected]](mailto:[email protected])」。

3. TestNG Eclipse插件

要在Eclipse IDE中運行以上測試,您需要安裝TestNG Eclipse插件。 按照官方的TestNG Eclipse插件指南進行安裝。

要運行TestNG測試,請右鍵單擊測試類(TestHelloWorld.java)並運行「TestNG Test」。

TestNG

輸出結果如下 -

[TestNG] Running:
  C:\Users\Administrator\AppData\Local\Temp\testng-eclipse-1570064410\testng-customsuite.xml

PASSED: testEmailGenerator

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================


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

[TestNG] Time taken by org.testng.reporters.XMLReporter@1b40d5f0: 13 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@6ea6d14e: 99 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@4563e9ab: 6 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@2aaf7cc2: 55 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@45c8e616: 4 ms