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外掛中安裝如下 -

範例

開啟 Eclipse建立一個 Maven 專案,其專案結構如下所示 -

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 class如下圖所示 -

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

檔案: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]」.
檔案:RandomEmailGenerator.java 程式碼如下 -

package com.yiibai;

//import org.springframework.stereotype.Service;

public class RandomEmailGenerator {

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

}

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

3. TestNG Eclipse外掛

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

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

輸出結果如下 -

[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