我们将举例说明如何使用ANT运行JUnit.按照下面给出的步骤.
步骤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中.
Sr.No. | OS&描述 |
---|---|
1 | Windows 将环境变量ANT_HOME设置为C:\Program Files\Apache Software Foundation \ apache-ant-1.8.4 |
2 | Linux 导出ANT_HOME =/usr/local/apache-ant-1.8.4 |
3 | Mac export ANT_HOME =/Library/apache-ant-1.8.4 |
将Ant编译器位置附加到系统路径,如下所示 :
OS | 输出 |
---|---|
Windows | 追加字符串%ANT_HOME \ bin 在系统变量的末尾,路径. |
Linux | export PATH = $ PATH :$ ANT_HOME/bin/ |
Mac | 不需要 |
第3步:下载JUnit存档
下载适合您操作系统的JUnit存档.
OS | 存档名称 |
---|---|
Windows | junit4.10.jar |
Linux | junit4.10.jar |
Mac | junit4.10.jar |
步骤4:创建项目结构
在C:\> JUNIT_WORKSPACE中创建文件夹 TestJunitWithAnt .
在C:\> JUNIT_WORKSPACE> TestJunitWithAnt中创建文件夹 src .
创建一个文件夹测试在C:\> JUNIT_WORKSPACE> TestJunitWithAnt.
创建文件夹 lib in C:\> JUNIT_WORKSPACE> TestJunitWithAnt.
在C:\>中创建 MessageUtil 类JUNIT_WORKSPACE> TestJunitWithAnt> srcfolder .
/** 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中创建 TestMessageUtil 类:JUNIT_WORKSPACE> TestJunitWithAnt> ; src.
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> 任务来执行我们的JUnit测试case.
运行以下Ant命令.
C:\ JUNIT_WORKSPACE \ TestJunitWithAnt> ant
验证输出.
Buildfile: C:\JUNIT_WORKSPACE\TestJunitWithAnt\build.xmlclean: 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 SUCCESSFULTotal time: 0 seconds