JUnit - 使用 Ant 插件
我们将有一个示例来演示如何使用 ANT 运行 JUnit。 请按照下面给出的步骤操作。
第 1 步:下载 Apache Ant
根据您正在使用的操作系统下载 Apache Ant。
操作系统 | 存档名称 |
---|---|
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. | 操作系统与描述 |
---|---|
1 | Windows 将环境变量 ANT_HOME 设置为 C:Program FilesApache Software Foundationapache-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 编译器位置附加到系统路径,如下所示 −
操作系统 | 输出 |
---|---|
Windows | 将字符串 %ANT_HOME\bin 附加到系统变量 Path 的末尾。 |
Linux | export PATH = $PATH:$ANT_HOME/bin/ |
Mac | not required |
第 3 步:下载 JUnit 存档
下载适合您的操作系统的 JUnit 存档。
操作系统 | 存档名称 |
---|---|
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 中创建文件夹 test。
在 C:>JUNIT_WORKSPACE>TestJunitWithAnt 中创建文件夹 lib。
在 C:>JUNIT_WORKSPACE>TestJunitWithAnt 中创建文件夹 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 中使用
<project name = "JunitTest" default = "test" basedir = "."> <property name = "testdir" location = "test" /> <property name = "srcdir" location = "src" /> <property name = "full-compile" value = "true" /> <path id = "classpath.base"/> <path id = "classpath.test"> <pathelement location = "lib/junit-4.10.jar" /> <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"> <junit> <classpath refid = "classpath.test" /> <formatter type = "brief" usefile = "false" /> <test name = "TestMessageUtil" /> </junit> </target> </project>
运行以下 Ant 命令。
C:JUNIT_WORKSPACETestJunitWithAnt>ant
验证输出。
Buildfile: C:JUNIT_WORKSPACETestJunitWithAnt\build.xml clean: compile: [javac] Compiling 2 source files to C:JUNIT_WORKSPACETestJunitWithAnt est [javac] [parsing started C:JUNIT_WORKSPACETestJunitWithAntsrc MessageUtil.java] [javac] [parsing completed 18ms] [javac] [parsing started C:JUNIT_WORKSPACETestJunitWithAntsrc TestMessageUtil.java] [javac] [parsing completed 2ms] [javac] [search path for source files: C:JUNIT_WORKSPACE TestJunitWithAntsrc] [javac] [loading javalangObject.class(javalang:Object.class)] [javac] [loading javalangString.class(javalang:String.class)] [javac] [loading orgjunitTest.class(orgjunit:Test.class)] [javac] [loading orgjunitIgnore.class(orgjunit:Ignore.class)] [javac] [loading orgjunitAssert.class(orgjunit:Assert.class)] [javac] [loading javalangannotationRetention.class (javalangannotation:Retention.class)] [javac] [loading javalangannotationRetentionPolicy.class (javalangannotation:RetentionPolicy.class)] [javac] [loading javalangannotationTarget.class (javalangannotation:Target.class)] [javac] [loading javalangannotationElementType.class (javalangannotation:ElementType.class)] [javac] [loading javalangannotationAnnotation.class (javalangannotation:Annotation.class)] [javac] [checking MessageUtil] [javac] [loading javalangSystem.class(javalang:System.class)] [javac] [loading javaioPrintStream.class(javaio:PrintStream.class)] [javac] [loading javaioFilterOutputStream.class (javaio:FilterOutputStream.class)] [javac] [loading javaioOutputStream.class(javaio:OutputStream.class)] [javac] [loading javalangStringBuilder.class (javalang:StringBuilder.class)] [javac] [loading javalangAbstractStringBuilder.class (javalang:AbstractStringBuilder.class)] [javac] [loading javalangCharSequence.class(javalang:CharSequence.class)] [javac] [loading javaioSerializable.class(javaio:Serializable.class)] [javac] [loading javalangComparable.class(javalang:Comparable.class)] [javac] [loading javalangStringBuffer.class(javalang:StringBuffer.class)] [javac] [wrote C:JUNIT_WORKSPACETestJunitWithAnt estMessageUtil.class] [javac] [checking TestMessageUtil] [javac] [wrote C:JUNIT_WORKSPACETestJunitWithAnt estTestMessageUtil.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