TestNG插件与ANT - TestNG教程

在这个例子中,我们将演示如何使用ANT运行TestNG。让我们遵循的步骤:

步骤1:下载Apache Ant

下载 Apache Ant

OS 压缩文件名
Windows apache-ant-1.8.4-bin.zip
Linux apache-ant-1.8.4-bin.tar.gz
Mac apache-ant-1.8.4-bin.tar.gz

步骤2:设置Ant环境

设置ANT_HOME环境变量指向参考基本目录的位置,ANT库存储在您的机器上。例如,我们已经存储了Ant库apache-ant-1.8.4,各种操作系统上的文件夹如下:

OS 输出
Windows 设置环境变量 ANT_HOME to C:Program FilesApache Software Foundationapache-ant-1.8.4
Linux export ANT_HOME=/usr/local/apache-ant-1.8.4
Mac export ANT_HOME=/Library/apache-ant-1.8.4

附加的Ant编译系统路径位置,在不同的操作系统如下:

OS 输出
Windows 追加字符串;%ANT_HOMEin 系统变量的结尾
Linux export PATH=$PATH:$ANT_HOME/bin/
Mac not required

第3步:下载TestNG

下载http://www.testng.org.

OS Archive name
Windows testng-6.8.jar
Linux testng-6.8.jar
Mac testng-6.8.jar

第4步:创建项目结构

  • 创建文件夹 TestNGWithAnt 在C: > TestNG_WORKSPACE

  • 创建文件夹 src 在 C: > TestNG_WORKSPACE > TestNGWithAnt

  • 创建文件夹 test 在 C: > TestNG_WORKSPACE > TestNGWithAnt

  • 创建文件夹 lib 在 C: > TestNG_WORKSPACE > TestNGWithAnt

  • 创建MessageUtil 类在 C: > TestNG_WORKSPACE > TestNGWithAnt > src 文件夹.

/*
* This class prints the given message on console.
*/
public class MessageUtil {

   private String message;

   //Constructor
   //@param message to be printed
   public MessageUtil(String message){
      this.message = message; 
   }

   // prints the message
   public void printMessage(){
      System.out.println(message);
      return message;
   }   

   // add "Hi!" to the message
   public String salutationMessage(){
      message = "Hi!" + message;
      System.out.println(message);
      return message;
   }   
}
  • 创建TestMessageUtil 类在 C: > TestNG_WORKSPACE > TestNGWithAnt > src 目录.
import org.testng.Assert;
import org.testng.annotations.Test;

public class TestMessageUtil {
    String message = "Manisha";    
    MessageUtil messageUtil = new MessageUtil(message);

    @Test
    public void testPrintMessage() {    
        System.out.println("Inside testPrintMessage()");     
        Assert.assertEquals(message,messageUtil.printMessage());
    }

    @Test
    public void testSalutationMessage() {
        System.out.println("Inside testSalutationMessage()");
        message = "Hi!" + "Manisha";
        Assert.assertEquals(message,messageUtil.salutationMessage());
    }
}
  • 拷贝 testng-6.8.jar 到 C: > TestNG_WORKSPACE > TestNGWithAnt > lib 文件夹

创建 ANT build.xml

首先,我们需要定义TestNG的ant任务如下:

<taskdef name="testng" classname="org.testng.TestNGAntTask">
    <classpath>
      <pathelement location="lib/testng-6.8.jar"/>
    </classpath>
  </taskdef>

然后我们使用 <testng> TestNG的测试案例Ant来执行任务。

C: > TestNG_WORKSPACE > TestNGWithAnt > build.xml 内容如下:

<project name="TestNGTest" default="test" basedir=".">
<!-- Define <testng> task -->
  <taskdef name="testng" classname="org.testng.TestNGAntTask">
    <classpath>
      <pathelement location="lib/testng-6.8.jar"/>
    </classpath>
  </taskdef>
   <property name="testdir" location="test" />
   <property name="srcdir" location="src" />
   <property name="libdir" location="lib" />
   <property name="full-compile" value="true" />
   <path id="classpath.base"/>
   <path id="classpath.test">
       <fileset dir="${libdir}">
         <include name="**/*.jar" />
      </fileset>
      <pathelement location="${testdir}" />
      <pathelement location="${srcdir}" />
      <path refid="classpath.base" />
   </path>
   <target name="clean" >
      <delete verbose="${full-compile}">
         <fileset dir="${testdir}" includes="**/*.class" />
      </delete>
   </target>
   <target name="compile" depends="clean">
      <javac srcdir="${srcdir}" destdir="${testdir}" 
         verbose="${full-compile}">
         <classpath refid="classpath.test"/>
      </javac>
   </target>
   <target name="test" depends="compile">
    <testng outputdir="${testdir}" classpathref="classpath.test"> 
      <xmlfileset dir="${srcdir}" includes="testng.xml"/> 
    </testng>
   </target>
</project>

执行下列ant命令。

C:TestNG_WORKSPACETestNGWithAnt>ant

验证输出

test:
   [testng] [TestNG] Running:
   [testng]   C:TestNG_WORKSPACETestNGWithAntsrc    estng.xml
   [testng] 
   [testng] Inside testPrintMessage()
   [testng] Manisha
   [testng] Inside testSalutationMessage()
   [testng] Hi!Manisha
   [testng] 
   [testng] ===============================================
   [testng] Plug ANT test Suite
   [testng] Total tests run: 2, Failures: 0, Skips: 0
   [testng] ===============================================
   [testng] 

BUILD SUCCESSFUL
Total time: 1 second