课程表

JUnit课程

工具箱
速查手册

JUnit - ANT 插件

当前位置:免费教程 » Java相关 » JUnit

在这个例子中,我们将展示如何使用 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 函数库在机器中存储的基本文件地址。例如,我们已经在不同的操作系统的 apache-ant-1.8.4 文件夹中存储了 ANT 函数库。

操作系统 输出
Windows 在 C:\Program Files\Apache Software Foundation
\apache-ant-1.8.4 中设置环境变量 ANT_HOME
Linux 导出 ANT_HOME=/usr/local/\apache-ant-1.8.4
Mac export ANT_HOME=/Library/\apache-ant-1.8.4

附加 ANT 编译器地址到系统路径,对于不同的操作系统来说如下所示:

操作系统 输出
Windows 附加字符串 ;%ANT_HOME\bin to the end of the
system variable, Path.
Linux 导出 PATH=$PATH:$ANT_HOME/bin/
Mac 不需要

步骤 3:下载 Junit Archive

操作系统 输出
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 >src 文件夹中创建 MessageUtil 类
  1. /*
  2. * This class prints the given message on console.
  3. */
  4. public class MessageUtil {
  5. private String message;
  6. //Constructor
  7. //@param message to be printed
  8. public MessageUtil(String message){
  9. this.message = message;
  10. }
  11. // prints the message
  12. public String printMessage(){
  13. System.out.println(message);
  14. return message;
  15. }
  16. // add "Hi!" to the message
  17. public String salutationMessage(){
  18. message = "Hi!" + message;
  19. System.out.println(message);
  20. return message;
  21. }
  22. }
  • C:\ > JUNIT_WORKSPACE > TestJunitWithAnt > src 文件夹中创建 TestMessageUtil 类。
  1. import org.junit.Test;
  2. import org.junit.Ignore;
  3. import static org.junit.Assert.assertEquals;
  4. public class TestMessageUtil {
  5. String message = "Robert";
  6. MessageUtil messageUtil = new MessageUtil(message);
  7. @Test
  8. public void testPrintMessage() {
  9. System.out.println("Inside testPrintMessage()");
  10. assertEquals(message,messageUtil.printMessage());
  11. }
  12. @Test
  13. public void testSalutationMessage() {
  14. System.out.println("Inside testSalutationMessage()");
  15. message = "Hi!" + "Robert";
  16. assertEquals(message,messageUtil.salutationMessage());
  17. }
  18. }
  • C:\ > JUNIT_WORKSPACE > TestJunitWithAnt > lib 文件夹中复制 junit-4.10.jar。

创建 ANT Build.xml

我们将使用 ANT 中的 任务来执行我们的 junit 测试样例。

  1. <project name="JunitTest" default="test" basedir=".">
  2. <property name="testdir" location="test" />
  3. <property name="srcdir" location="src" />
  4. <property name="full-compile" value="true" />
  5. <path id="classpath.base"/>
  6. <path id="classpath.test">
  7. <pathelement location="/lib/junit-4.10.jar" />
  8. <pathelement location="${testdir}" />
  9. <pathelement location="${srcdir}" />
  10. <path refid="classpath.base" />
  11. </path>
  12. <target name="clean" >
  13. <delete verbose="${full-compile}">
  14. <fileset dir="${testdir}" includes="**/*.class" />
  15. </delete>
  16. </target>
  17. <target name="compile" depends="clean">
  18. <javac srcdir="${srcdir}" destdir="${testdir}"
  19. verbose="${full-compile}">
  20. <classpath refid="classpath.test"/>
  21. </javac>
  22. </target>
  23. <target name="test" depends="compile">
  24. <junit>
  25. <classpath refid="classpath.test" />
  26. <formatter type="brief" usefile="false" />
  27. <test name="TestMessageUtil" />
  28. </junit>
  29. </target>
  30. </project>

运行下列的 ant 命令

  1. C:\JUNIT_WORKSPACE\TestJunitWithAnt>ant

验证输出。

  1. Buildfile: C:\JUNIT_WORKSPACE\TestJunitWithAnt\build.xml
  2. clean:
  3. compile:
  4. [javac] Compiling 2 source files to C:\JUNIT_WORKSPACE\TestJunitWithAnt\test
  5. [javac] [parsing started C:\JUNIT_WORKSPACE\TestJunitWithAnt\src MessageUtil.java]
  6. [javac] [parsing completed 18ms]
  7. [javac] [parsing started C:\JUNIT_WORKSPACE\TestJunitWithAnt\src TestMessageUtil.java]
  8. [javac] [parsing completed 2ms]
  9. [javac] [search path for source files: C:\JUNIT_WORKSPACE TestJunitWithAnt\src]
  10. [javac] [loading java\lang\Object.class(java\lang:Object.class)]
  11. [javac] [loading java\lang\String.class(java\lang:String.class)]
  12. [javac] [loading org\junit\Test.class(org\junit:Test.class)]
  13. [javac] [loading org\junit\Ignore.class(org\junit:Ignore.class)]
  14. [javac] [loading org\junit\Assert.class(org\junit:Assert.class)]
  15. [javac] [loading java\lang\annotation\Retention.class
  16. (java\lang\annotation:Retention.class)]
  17. [javac] [loading java\lang\annotation\RetentionPolicy.class
  18. (java\lang\annotation:RetentionPolicy.class)]
  19. [javac] [loading java\lang\annotation\Target.class
  20. (java\lang\annotation:Target.class)]
  21. [javac] [loading java\lang\annotation\ElementType.class
  22. (java\lang\annotation:ElementType.class)]
  23. [javac] [loading java\lang\annotation\Annotation.class
  24. (java\lang\annotation:Annotation.class)]
  25. [javac] [checking MessageUtil]
  26. [javac] [loading java\lang\System.class(java\lang:System.class)]
  27. [javac] [loading java\io\PrintStream.class(java\io:PrintStream.class)]
  28. [javac] [loading java\io\FilterOutputStream.class
  29. (java\io:FilterOutputStream.class)]
  30. [javac] [loading java\io\OutputStream.class(java\io:OutputStream.class)]
  31. [javac] [loading java\lang\StringBuilder.class
  32. (java\lang:StringBuilder.class)]
  33. [javac] [loading java\lang\AbstractStringBuilder.class
  34. (java\lang:AbstractStringBuilder.class)]
  35. [javac] [loading java\lang\CharSequence.class(java\lang:CharSequence.class)]
  36. [javac] [loading java\io\Serializable.class(java\io:Serializable.class)]
  37. [javac] [loading java\lang\Comparable.class(java\lang:Comparable.class)]
  38. [javac] [loading java\lang\StringBuffer.class(java\lang:StringBuffer.class)]
  39. [javac] [wrote C:\JUNIT_WORKSPACE\TestJunitWithAnt\test\MessageUtil.class]
  40. [javac] [checking TestMessageUtil]
  41. [javac] [wrote C:\JUNIT_WORKSPACE\TestJunitWithAnt\test\TestMessageUtil.class]
  42. [javac] [total 281ms]
  43. test:
  44. [junit] Testsuite: TestMessageUtil
  45. [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.008 sec
  46. [junit]
  47. [junit] ------------- Standard Output ---------------
  48. [junit] Inside testPrintMessage()
  49. [junit] Robert
  50. [junit] Inside testSalutationMessage()
  51. [junit] Hi!Robert
  52. [junit] ------------- ---------------- ---------------
  53. BUILD SUCCESSFUL
  54. Total time: 0 seconds
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号