How to run JUNIT testing framework using build tool ANT?

概要:

In this document we will discuss about the build tool ant and unit testing framework Junit. Both of these have become an integral part of java development. Both ant and Junit are widely used in the java world. ほとんどのお客様は、システムのテストと機能テスト用のコードを露光する前に、ユニットテストのログを見てみたいです.

はじめに:

ApacheのANTは、一般的なビルドツールです. 名前 ANT 'の省略形スタンドANotherの N食べる T「効果的な. このツールは、 'に似ています「作ります における有用性 UNIX しかし、Javaを使用して実装されています. これは主にJavaベースのソースコードのバイナリを構築し、事前に定義されているアプリケーションサーバに生成されたバイナリを展開するために使用されています. また、コードベースのJavadocを生成し、全体のコードベースのためのユニットテストスイートを実行するために使用することができ. JUNITと共同でAntは、テスト駆動型開発アプローチに従うことを、開発者を支援.

Antが環境変数を持つインストールされているJavaコンパイラが必要です JAVA_HOME その適切な値に設定します. Antが使用しています XML ビルド手順を定義するためのファイル. このファイルのデフォルト名です build.xmlの. 一部の開発者は、プロパティ、すなわちファイルを使用します build.properties いくつかのプロパティを定義するe.g. 必要性に基づいて随時変更するために必要なビルドバージョン番号およびその他の環境パラメータ.

インスタレーション: このセクションでは、異なるオペレーティングシステム上でのANTのインストールについて説明します.

FEDORA - RHELで, ANTは、コマンドを使用してインストールすることができます - yumのRPMを使用してアリインストールするか、それをインストールすることができます - 私は、コマンド. この場合は、まずアリのパッケージをダウンロードしてください.

DEBIAN - Ubuntuで, ANTは、コマンドを使用してインストールすることができます - apt-getのアリをインストール.

Windowsの – Windows環境で、私たちはant_をダウンロードする必要があります<VERSION_NO>.zipファイル. このZIPバンドルはフォルダに抽出する必要があります. このフォルダには、環境変数として定義する必要がありますANT_HOME.

サンプルbuild.xmlファイルは下のように示されています:

LISTING 1: サンプルbuild.xmlファイル

<?XMLバージョン=”1.0″?>

<プロジェクト名=”Antのテスト” デフォルト=”メイン” BASEDIR =”.”>

<!– 後で使用できる変数を設定します。. –>

<!– プロパティの値を介してアクセスされます ${} –>

<プロパティ名=”src.dir” 場所=”SRC” />

<プロパティ名=”build.dir” 場所=”bin” />

<プロパティ名=”dist.dir” 場所=”DIST” />

<プロパティ名=”docs.dir” 場所=”ドキュメント” />

<!– 既存のドキュメントを削除します。, 構築し、distディレクトリ–>

<ターゲット名=”クリーン”>

<= DIRを削除”${build.dir}” />

<= DIRを削除”${docs.dir}” />

<= DIRを削除”${dist.dir}” />

</ターゲット>

<!– ドキュメントを作成します。, 構築し、distディレクトリ–>

<ターゲット名=”MAKEDIR”>

<MKDIR DIR =”${build.dir}” />

<MKDIR DIR =”${docs.dir}” />

<MKDIR DIR =”${dist.dir}” />

</ターゲット>

<!– Javaコードをコンパイルします (JUnitのためのライブラリの使用を含みます –>

<ターゲット名=”compile” =依存”クリーン, MAKEDIR”>

<javac SRCDIR =”${src.dir}” DESTDIR =”${build.dir}”>

</javacの>

</ターゲット>

<!– Javadocを作成します。 –>

<ターゲット名=”ドキュメント” =依存”compile”>

<Javadocのパッケージ名=”SRC” ソースパス=”${src.dir}” DESTDIR =”${docs.dir}”>

<!– どのファイルを定義します。 / ディレクトリが含まれるはずです, 我々はすべて含まれ –>

<ファイルセットDIR =”${src.dir}”>

<=名を含めます”**” />

</ファイルセット>

</Javadocの>

</ターゲット>

<!–展開可能なjarファイルを作成します。 –>

<ターゲット名=”jar” =依存”compile”>

<ジャーのdestFile =”${dist.dir}\in.kolkalta.build.test.ant.jar” BASEDIR =”${build.dir}”>

<マニフェスト>

<属性名=”主なクラス” 値=”test.Main” />

</マニフェスト>

</jar>

</ターゲット>

<ターゲット名=”メイン” =依存”compile, jar, ドキュメント”>

<説明>主要目標</説明>

</ターゲット>

</プロジェクト>

JUnitを使用ANT:

Antはテスト駆動開発手法を使用するJava開発者に大きな助けを提供. 私たちは、テスト駆動開発の方法論JUNITに知っているように強制され, 我々は一度にすべてのJUnitテストケースを実行する自動化スクリプトを使用している場合、それは常に追加された利点であります. だけでなく、我々はハドソンのような継続的な統合ツールを持っている場合は、このスクリプトを使用することもできることを. 私たちの次のサンプルコードは、JUnitを使用し、ANTを使用する方法を示し.

LISTING 2: サンプルのJavaファイル

package com.home.junit;

公共 クラス SampleAdd {

公共 int型 加える(int型 X, int型 と) {

リターン X + と;

}

}

LISTING 3: 対応JUNITファイル

パッケージcom.home.junit;

輸入org.junit.After;

輸入org.junit.Assert;

輸入org.junit.Before;

輸入org.junit.Test;

パブリッククラスSampleAddTest {

プライベートSampleAdd sampleClass;

@前

公共ボイドのsetUp() {

sampleClass =新しいSampleAdd();

}

@テスト

公共ボイドtestAdd() {

Assert.assertEquals(5, sampleClass.add(3, 2));

}

@After

公共ボイドsettleDown() {

sampleClass = NULL;

}

}

LISTING 4: JUnitテストをコンパイルして実行するためのAntスクリプト

<?XMLバージョン=”1.0″?>

<プロジェクト名=”JUNIT” デフォルト=”メイン” BASEDIR =”..”>

<!– 後で使用できる変数を設定します。. –>

<!– プロパティの値を介してアクセスされます ${} –>

<プロパティ名=”src.dir” 場所=”SRC” />

<プロパティ名=”test.dir” 場所=”テスト” />

<プロパティ名=”build.dir” 場所=”bin” />

<プロパティ名=”build.test.dir” 場所=”ビン/テスト” />

<!– JUnitのTESTINのために使用される変数 –>

<プロパティ名=”test.report.dir” 場所=”カスタマイズポート” />

<!– junit.jarをとコンパイル後のクラスが含まれてクラスパスを定義します。–>

<パスID =”junit.class.path”>

<pathelement場所=”LIB / JUnitの-4.11.jar” />

<pathelement場所=”LIB / hamcrestコア-1.3.jar” />

<pathelement場所=”${build.dir}” />

</パス>

<!– 既存のビルドを削除します。, ドキュメントとdistディレクトリ–>

<ターゲット名=”クリーン”>

<= DIRを削除”${build.dir}” />

<= DIRを削除”${test.report.dir}” />

</ターゲット>

<!– ビルドを作成します。, ドキュメントとdistディレクトリ–>

<ターゲット名=”MAKEDIR”>

<MKDIR DIR =”${build.dir}” />

<MKDIR DIR =”${build.test.dir}” />

<MKDIR DIR =”${test.report.dir}” />

</ターゲット>

<!– Javaコードをコンパイルします (JUnitのためのライブラリの使用を含みます –>

<ターゲット名=”compile” =依存”クリーン, MAKEDIR”>

<javac SRCDIR =”${src.dir}” DESTDIR =”${build.dir}”>

<クラスパスREFID =”junit.class.path” />

</javacの>

<javac SRCDIR =”${test.dir}” DESTDIR =”${build.test.dir}”>

<クラスパスREFID =”junit.class.path” />

</javacの>

</ターゲット>

<!– JUnitテストを実行します。 –>

<!– 出力はXMLです, また、無地かもしれません–>

<ターゲット名=”JUnitの” =依存”compile”>

<JUnitのprintsummary =”on” フォーク=”真” haltonfailure =”はい”>

<クラスパスREFID =”junit.class.path” />

<クラスパス>

<pathelement場所=”${build.test.dir}”/>

</クラスパス>

<フォーマッタタイプ=”XML” />

<batchtest todirの=”${test.report.dir}”>

<ファイルセットDIR =”${test.dir}”>

<=名を含めます”**/*テスト*の.javaファイル” />

</ファイルセット>

</batchtest>

</JUnitの>

</ターゲット>

<ターゲット名=”メイン” =依存”compile, JUnitの”>

<説明>主要目標</説明>

</ターゲット>

</プロジェクト>

私たちは、このスクリプトを実行すると、, それは、最初のコードベースをコンパイルして、コンパイルされたコードにJUnitテストを実行し、最終的にテストレポートを生成し、. 試験報告書は、任意の形式で生成することができます. 利便性のために我々は、XML形式でこれを生成しました.

LISTING 5: XML形式で生成されたテストレポート

<?XMLバージョン=”1.0″ エンコーディング=”UTF-8″?>

-<テストスイートのタイムスタンプ=”2013-10-26T18:52:45″ 時間=”0.077″ テストの=”1″ 名前=”com.home.junit.SampleAddTest” ホスト名=”INDTAPPL132-001″ 障害=”0″ エラー=”0″>-<properties><プロパティ名=”java.vendor” 値=”オラクル・コーポレーション”/><プロパティ名=”sun.java.launcher” 値=”SUN_STANDARD”/><プロパティ名=”eclipse.pdebuild.templates” 値=”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/templates/”/><プロパティ名=”sun.management.compiler” 値=”HotSpotのクライアントコンパイラ”/><プロパティ名=”os.name” 値=”Windows 7の″/><プロパティ名=”sun.boot.class.path” 値=”C言語:\プログラムファイルのJava jre7 libに resources.jar;C言語:\プログラムファイルのJava jre7 libに rt.jarの;C言語:\プログラムファイルのJava jre7 libに sunrsasign.jar;C言語:\プログラムファイルのJava jre7 libにのjsse.jar;C言語:\プログラムファイルのJava jre7 libに jce.jar;C言語:\プログラムファイルのJava jre7 libに charsets.jar;C言語:\プログラムファイルのJava jre7 libに jfr.jar;C言語:\プログラムファイルのJava jre7 クラス”/><プロパティ名=”sun.desktop” 値=”窓”/><プロパティ名=”java.vm.specification.vendor” 値=”オラクル・コーポレーション”/><プロパティ名=”ant.home” 値=”F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300″/><プロパティ名=”java.runtime.version” 値=”1.7.0_45-b18″/><プロパティ名=”user.name” 値=”utpalb”/><プロパティ名=”build.dir” 値=”F:\WorkRnDSpaceJunitbin”/><プロパティ名=”user.language” 値=”en”/><プロパティ名=”test.report.dir” 値=”F:\WorkRnDSpaceJunittestreport”/><プロパティ名=”sun.boot.library.path” 値=”C言語:\Program FilesJavajre7bin”/><プロパティ名=”ant.project.default-target” 値=”メイン”/><プロパティ名=”ant.project.name” 値=”JUNIT”/><プロパティ名=”java.version” 値=”1.7.0_45″/><プロパティ名=”user.timezone” 値=””/><プロパティ名=”sun.arch.data.model” 値=”32″/><プロパティ名=”java.endorsed.dirs” 値=”C言語:\Program FilesJavajre7libendorsed”/><プロパティ名=”sun.cpu.isalist” 値=”pentium_pro mmx pentium_pro pentium mmx pentium i486 i386 i86″/><プロパティ名=”sun.jnu.encoding” 値=”Cp1252″/><プロパティ名=”file.encoding.pkg” 値=”sun.io”/><プロパティ名=”file.separator” 値=”\”/><プロパティ名=”java.specification.name” 値=”Java Platform API Specification”/><プロパティ名=”java.class.version” 値=”51.0″/><プロパティ名=”user.country” 値=”US”/><プロパティ名=”java.home” 値=”C言語:\Program FilesJavajre7″/><プロパティ名=”java.vm.info” 値=”mixed mode, sharing”/><プロパティ名=”ant.file” 値=”F:\WorkRnDSpaceJunitbuildbuild.xml”/><プロパティ名=”os.version” 値=”6.1″/><プロパティ名=”path.separator” 値=”;”/><プロパティ名=”java.vm.version” 値=”24.45-b08″/><プロパティ名=”user.variant” 値=””/><プロパティ名=”ant.library.dir” 値=”F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300lib”/><プロパティ名=”java.awt.printerjob” 値=”sun.awt.windows.WPrinterJob”/><プロパティ名=”sun.io.unicode.encoding” 値=”UnicodeLittle”/><プロパティ名=”ant.file.type.JUNIT” 値=”ファイル”/><プロパティ名=”awt.toolkit” 値=”sun.awt.windows.WToolkit”/><プロパティ名=”user.script” 値=””/><プロパティ名=”ant.file.JUNIT” 値=”F:\WorkRnDSpaceJunitbuildbuild.xml”/><プロパティ名=”eclipse.pdebuild.scripts” 値=”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/”/><プロパティ名=”user.home” 値=”C言語:\Usersutpalb”/><プロパティ名=”java.specification.vendor” 値=”オラクル・コーポレーション”/><プロパティ名=”test.dir” 値=”F:\WorkRnDSpaceJunittests”/><プロパティ名=”java.library.path” 値=”C言語:\Program FilesJavajre7bin;C言語:\WindowsSunJavabin;C言語:\Windowssystem32;C言語:\Windowsの;C言語:/Program Files/Java/jre7/bin/client;C言語:/Program Files/Java/jre7/bin;C言語:/Program Files/Java/jre7/lib/i386;C言語:\Windowssystem32;C言語:\Windowsの;C言語:\WindowsSystem32Wbem;C言語:\WindowsSystem32WindowsPowerShellv1.0;C言語:\Program FilesJavajdk1.6.0_10bin;それ:\apache-ant-1.8.2-binapache-ant-1.8.2bin;C言語:\Program FilesLiquid TechnologiesLiquid XML Studio 2011XmlDataBinder9Redist9cppwin32bin;C言語:\Program FilesTortoiseSVNbin;それ:\Program FilesAndroidandroid-sdkplatform-tools;それ:\Program FilesAndroidandroid-sdktools;C言語:\Program FilesQuickTimeQTSystem;D:\SunAppServerbin;9;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipse;;.”/><プロパティ名=”java.vendor.url” 値=”HTTP://java.oracle.com/”/><プロパティ名=”java.vm.vendor” 値=”オラクル・コーポレーション”/><プロパティ名=”java.runtime.name” 値=”ジャワ(TM) SE Runtime Environment”/><プロパティ名=”sun.java.command” 値=”org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner com.home.junit.SampleAddTest filtertrace=true haltOnError=false haltOnFailure=true formatter=org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter showoutput=false outputtoformatters=true logfailedtests=true logtestlistenerevents=false formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,F:\WorkRnDSpaceJunittestreportTEST-com.home.junit.SampleAddTest.xml crashfile=F:\WorkRnDSpaceJunitjunitvmwatcher6288340937110531134.properties propsfile=F:\WorkRnDSpaceJunitjunit7583515827572177542.properties”/><プロパティ名=”java.class.path” 値=”F:\WorkRnDSpaceJunitlibjunit-4.11.jar;F:\WorkRnDSpaceJunitlibhamcrest-core-1.3.jar;F:\WorkRnDSpaceJunitbin;F:\WorkRnDSpaceJunitbintests;F:\WorkRnDSpaceJunit;C言語:\Program FilesJavajdk1.6.0_10jrelibrt.jar;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant-launcher.jar;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant.jar;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant-junit.jar;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant-junit4.jar”/><プロパティ名=”ant.version” 値=”Apache Ant(TM) version 1.8.2 compiled on December 20 2010″/><プロパティ名=”java.vm.specification.name” 値=”Java Virtual Machine Specification”/><プロパティ名=”java.vm.specification.version” 値=”1.7″/><プロパティ名=”sun.cpu.endian” 値=”little”/><プロパティ名=”sun.os.patch.level” 値=”Service Pack 1″/><プロパティ名=”eclipse.pdebuild.home” 値=”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/./”/><プロパティ名=”java.io.tmpdir” 値=”C言語:\UsersutpalbAppDataLocalTemp”/><プロパティ名=”java.vendor.url.bug” 値=”HTTP://bugreport.sun.com/bugreport/”/><プロパティ名=”os.arch” 値=”x86″/><プロパティ名=”java.awt.graphicsenv” 値=”sun.awt.Win32GraphicsEnvironment”/><プロパティ名=”java.ext.dirs” 値=”C言語:\Program FilesJavajre7libext;C言語:\WindowsSunJavalibext”/><プロパティ名=”user.dir” 値=”F:\WorkRnDSpaceJunitbuild”/><プロパティ名=”build.test.dir” 値=”F:\WorkRnDSpaceJunitbintests”/><プロパティ名=”line.separator” 値=” “/><プロパティ名=”java.vm.name” 値=”Java HotSpot(TM) Client VM”/><プロパティ名=”basedir” 値=”F:\WorkRnDSpaceJunit”/><プロパティ名=”ant.java.version” 値=”1.7″/><プロパティ名=”ant.core.lib” 値=”F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant.jar”/><プロパティ名=”file.encoding” 値=”Cp1252″/><プロパティ名=”java.specification.version” 値=”1.7″/><プロパティ名=”src.dir” 値=”F:\WorkRnDSpaceJunitsrc”/><プロパティ名=”ant.project.invoked-targets” 値=”メイン”/></properties><testcase time=”0.003″ 名前=”testAdd” classname=”com.home.junit.SampleAddTest”/>-<system-out>

<![CDATA[]]>

</system-out>-<system-err>

<![CDATA[]]>

</system-err></testsuite>

結論: So after discussing all the above theory and implementation details we can conclude with the following highlights.

  • APACHE ANT is a java based utility used by the Java developers for the following purpose
    • To generate the binaries from the source code
    • To generate javadocs for the source code
    • To run JUNIT test cases on a code base
  • ANT in collaboration with JUNIT, helps the java developers to follow the Test Driven Development methodology

Hope you have enjoyed the article and got a clear understanding about the tool and its implementation. If you have any query, send me a mail and I would love to answer your queries.

 

Tagged on: ,
============================================= ============================================== Amazonで最高のTechAlpine Booksを購入してください,en,電気技師CT栗,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share