📜  JUnit-使用ANT插入

📅  最后修改于: 2020-11-12 04:42:02             🧑  作者: Mango


我们将通过一个示例演示如何使用ANT运行JUnit。请遵循以下步骤。

步骤1:下载Apache Ant

根据您正在使用的操作系统下载Apache Ant

OS Archive Name
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_HOME环境变量设置为指向ANT库存储在您的计算机上的基本目录位置。让我们假设Ant库存储在apache-ant-1.8.4文件夹中。

Sr.No. OS & Description
1

Windows

Set the environment variable ANT_HOME to C:\Program Files\Apache Software Foundation\apache-ant-1.8.4

2

Linux

export ANT_HOME = /usr/local/apache-ant-1.8.4

3

Mac

export ANT_HOME = /Library/apache-ant-1.8.4

将Ant编译器位置附加到系统路径,如下所示-

OS Output
Windows Append the string %ANT_HOME\bin at the end of the system variable, Path.
Linux export PATH = $PATH:$ANT_HOME/bin/
Mac not required

步骤3:下载JUnit存档

下载适合您的操作系统的JUnit存档。

OS Archive Name
Windows junit4.10.jar
Linux junit4.10.jar
Mac junit4.10.jar

步骤4:创建项目结构

  • C语言创建一个文件夹TestJunitWithAnt:\> JUNIT_WORKSPACE。

  • 在C:\> JUNIT_WORKSPACE> TestJunitWithAnt中创建一个文件夹src

  • 在C:\> JUNIT_WORKSPACE> TestJunitWithAnt中创建一个文件夹测试

  • 在C:\> JUNIT_WORKSPACE> TestJunitWithAnt中创建一个文件夹

  • 在C:\> JUNIT_WORKSPACE> TestJunitWithAnt> srcfolder中创建MessageUtil类。

/*
* 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 String printMessage(){
      System.out.println(message);
      return message;
   }   

   // add "Hi!" to the message
   public String salutationMessage(){
      message = "Hi!" + message;
      System.out.println(message);
      return message;
   }   
}      

在文件夹C:\> JUNIT_WORKSPACE> TestJunitWithAnt> src中创建TestMessageUtil类。

import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;

public class TestMessageUtil {

   String message = "Robert";    
   MessageUtil messageUtil = new MessageUtil(message);
   
   @Test
   public void testPrintMessage() {    
      System.out.println("Inside testPrintMessage()");     
      assertEquals(message,messageUtil.printMessage());
   }

   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Robert";
      assertEquals(message,messageUtil.salutationMessage());
   }
}

将junit-4.10.jar复制到文件夹C:\> JUNIT_WORKSPACE> TestJunitWithAnt> lib。

创建ANT Build.xml

我们将在Ant中使用任务执行我们的JUnit测试用例。


   
   
   
    
   
    
   
      
      
      
      
   
    
   
      
         
      
   
    
   
      
         
      
   
    
   
      
         
         
         
      
   
    

运行以下Ant命令。

C:\JUNIT_WORKSPACE\TestJunitWithAnt>ant

验证输出。

Buildfile: C:\JUNIT_WORKSPACE\TestJunitWithAnt\build.xml

clean:  

compile:  
   [javac] Compiling 2 source files to C:\JUNIT_WORKSPACE\TestJunitWithAnt\test
   [javac] [parsing started C:\JUNIT_WORKSPACE\TestJunitWithAnt\src\
      MessageUtil.java]
   [javac] [parsing completed 18ms]
   [javac] [parsing started C:\JUNIT_WORKSPACE\TestJunitWithAnt\src\
      TestMessageUtil.java]
   [javac] [parsing completed 2ms]
   [javac] [search path for source files: C:\JUNIT_WORKSPACE\
      TestJunitWithAnt\src]    
   [javac] [loading java\lang\Object.class(java\lang:Object.class)]
   [javac] [loading java\lang\String.class(java\lang:String.class)]
   [javac] [loading org\junit\Test.class(org\junit:Test.class)]
   [javac] [loading org\junit\Ignore.class(org\junit:Ignore.class)]
   [javac] [loading org\junit\Assert.class(org\junit:Assert.class)]
   [javac] [loading java\lang\annotation\Retention.class
      (java\lang\annotation:Retention.class)]
   [javac] [loading java\lang\annotation\RetentionPolicy.class
      (java\lang\annotation:RetentionPolicy.class)]
   [javac] [loading java\lang\annotation\Target.class
      (java\lang\annotation:Target.class)]
   [javac] [loading java\lang\annotation\ElementType.class
      (java\lang\annotation:ElementType.class)]
   [javac] [loading java\lang\annotation\Annotation.class
      (java\lang\annotation:Annotation.class)]
   [javac] [checking MessageUtil]
   [javac] [loading java\lang\System.class(java\lang:System.class)]
   [javac] [loading java\io\PrintStream.class(java\io:PrintStream.class)]
   [javac] [loading java\io\FilterOutputStream.class
      (java\io:FilterOutputStream.class)]
   [javac] [loading java\io\OutputStream.class(java\io:OutputStream.class)]
   [javac] [loading java\lang\StringBuilder.class
      (java\lang:StringBuilder.class)]
   [javac] [loading java\lang\AbstractStringBuilder.class
      (java\lang:AbstractStringBuilder.class)]
   [javac] [loading java\lang\CharSequence.class(java\lang:CharSequence.class)]
   [javac] [loading java\io\Serializable.class(java\io:Serializable.class)]
   [javac] [loading java\lang\Comparable.class(java\lang:Comparable.class)]
   [javac] [loading java\lang\StringBuffer.class(java\lang:StringBuffer.class)]
   [javac] [wrote C:\JUNIT_WORKSPACE\TestJunitWithAnt\test\MessageUtil.class]
   [javac] [checking TestMessageUtil]
   [javac] [wrote C:\JUNIT_WORKSPACE\TestJunitWithAnt\test\TestMessageUtil.class]
   [javac] [total 281ms]

test:
    [junit] Testsuite: TestMessageUtil
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.008 sec
    [junit]
    [junit] ------------- Standard Output ---------------
    [junit] Inside testPrintMessage()
    [junit] Robert
    [junit] Inside testSalutationMessage()
    [junit] Hi!Robert
    [junit] ------------- ---------------- ---------------

BUILD SUCCESSFUL
Total time: 0 seconds