Junit-plug-with-ant

提供:Dev Guides
移動先:案内検索

JUnit-ANTを使用したプラグ

ANTを使用してJUnitを実行する方法を示す例があります。 以下の手順に従ってください。

ステップ1:Apache Antをダウンロードする

作業しているオペレーティングシステムに基づいてhttp://ant.apache.org/bindownload.cgi[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環境を設定する

*ANT_HOME* 環境変数を設定して、マシン上のANTライブラリが格納されているベースディレクトリの場所を指定します。 Antライブラリーがフォルダーapache-ant-1.8.4に保管されていると仮定します。
Sr.No. OS & Description
1

Windows

環境変数ANT_HOMEを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:\> JUNIT_WORKSPACEに TestJunitWithAnt フォルダーを作成します。
  • C:\> JUNIT_WORKSPACE> TestJunitWithAntに src フォルダーを作成します。
  • C:\> JUNIT_WORKSPACE> TestJunitWithAntに test フォルダーを作成します。
  • C:\> JUNIT_WORKSPACE> TestJunitWithAntに lib フォルダーを作成します。
  • 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> タスクを使用して、JUnitテストケースを実行します。

<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_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