How to run JUNIT testing framework using build tool ANT?

Przegląd:

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. Większość klientów chciałbym zobaczyć dziennik testów jednostkowych przed wystawieniem kod do testowania systemu i testów funkcjonalnych.

Wprowadzenie:

Apache Ant jest ogólnym narzędziem budowania. Imię ANT stoi w skrócie dla 'Another Njeść Tskuteczne ". To narzędzie jest podobna do 'Robić' narzędzie w UNIX ale jest realizowany przy użyciu języka Java. Stosowany jest przede wszystkim do budowania pakietów binarnych kod źródłowy Java i wdrażania na podstawie wygenerowanego pliku na serwerze aplikacji, który jest wstępnie zdefiniowane. Może być także stosowany do wytworzenia Javadocs na bazie kodu i wykonać zestaw testowy, urządzenie do całego kodzie. Ant we współpracy z deweloperem JUnit pomaga śledzić podejście do rozwoju Test Driven.

Ant wymaga kompilatora Java do zainstalowania posiadające zmienną środowiskową JAVA_HOME zestaw z jej odpowiednią wartość. Ant używa XML Plik w celu określenia procedury gromadzenia. Domyślna nazwa tego pliku jest build.xml. Niektórzy deweloperzy również użyć pliku właściwości mianowicie build.properties w celu określenia pewnych właściwości np. numer wersji build i inne parametry środowiskowe, które są wymagane, aby zmienić od czasu do czasu w oparciu o potrzeby.

Instalacja: W tym rozdziale omówimy temat instalacji ant na różnych systemach operacyjnych.

Fedora - Na RHEL, ANT można zainstalować za pomocą polecenia - yum install ant lub może być zainstalowany przy użyciu rpm - Rozkazuję. W tym przypadku należy najpierw pobrać pakiet ant.

DEBIAN - Na Ubuntu, ANT można zainstalować za pomocą polecenia - apt-get install mrówkę.

Okna – Środowisku Windows musimy pobrać ant_<VERSION_NO>.plik zip. Ten pakiet zip należy pobrać w folderze. Folder ten powinien być zdefiniowany jako zmiennej środowiskowej ANT_HOME.

Przykładowy plik build.xml jest pokazane jak w:

WYMIENIANIE KOLEJNO 1: Przykładowy plik build.xml

<?xml version =”1.0″?>

<nazwa projektu =”Ant-Test” default =”główny” basedir =”.”>

<!– Ustawia zmienne, które mogą być później wykorzystane. –>

<!– Wartość nieruchomości jest dostępna za pośrednictwem ${} –>

<Nazwa obiektu =”src.dir” location =”src” />

<Nazwa obiektu =”build.dir” location =”bin” />

<Nazwa obiektu =”dist.dir” location =”dist” />

<Nazwa obiektu =”docs.dir” location =”docs” />

<!– Usuwa istniejące dokumenty, budować i katalogu dist–>

<Nazwa target =”czysty”>

<usuwać dir =”${build.dir}” />

<usuwać dir =”${docs.dir}” />

<usuwać dir =”${dist.dir}” />

</cel>

<!– Tworzy docs, budować i katalogu dist–>

<Nazwa target =”MakeDir”>

<mkdir dir =”${build.dir}” />

<mkdir dir =”${docs.dir}” />

<mkdir dir =”${dist.dir}” />

</cel>

<!– Kompiluje kod java (w tym korzystanie z biblioteki dla JUnit –>

<Nazwa target =”compile” zależy =”czysty, MakeDir”>

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

</javac>

</cel>

<!– tworzy Javadoc –>

<Nazwa target =”docs” zależy =”compile”>

<Javadoc packagenames =”src” SourcePath =”${src.dir}” konfiskata =”${docs.dir}”>

<!– Określić, które pliki / Katalog powinien dostać włączone, zaliczamy wszystkie –>

<fileset dir =”${src.dir}”>

<obejmują name =”**” />

</fileset>

</javadoc>

</cel>

<!–Tworzy wdrożyć plik jar –>

<Nazwa target =”jar” zależy =”compile”>

<jar DestFile =”${dist.dir}\in.kolkalta.build.test.ant.jar” basedir =”${build.dir}”>

<oczywisty>

<nazwę atrybutu =”Main-Class” value =”test.Main” />

</oczywisty>

</jar>

</cel>

<Nazwa target =”główny” zależy =”compile, jar, docs”>

<opis>Główny cel</opis>

</cel>

</projekt>

ANT z JUnit:

Ant stanowi doskonałą pomoc dla programistów Java, którzy korzystają z podejścia do rozwoju Test Driven. Jak wiemy w teście metodologię rozwoju JUnit jest przymus, to zawsze dodatkowy atut, jeśli mamy zautomatyzowany skrypt, który uruchamia wszystkie testów JUnit za jednym zamachem. Nie tylko, że ten skrypt może być również używany jeśli mamy ciągłą narzędzie integracji jak Hudson. Nasz Następujący przykładowy kod ilustruje sposób wykorzystania Ant z JUnit.

WYMIENIANIE KOLEJNO 2: Przykładowy plik java

package com.home.junit;

publiczny klasa SampleAdd {

publiczny int dodać(int x, int i) {

powrót x + i;

}

}

WYMIENIANIE KOLEJNO 3: Odpowiedni plik JUnit

pakiet com.home.junit;

import org.junit.After;

import org.junit.Assert;

import org.junit.Before;

import org.junit.Test;

public class SampleAddTest {

prywatne SampleAdd sampleClass;

@Przed

public void UstaWienia() {

sampleClass = new SampleAdd();

}

@Test

public void testAdd() {

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

}

@Po

public void settleDown() {

sampleClass = null;

}

}

WYMIENIANIE KOLEJNO 4: ANT skrypt, aby skompilować i uruchomić test JUnit

<?xml version =”1.0″?>

<nazwa projektu =”JUNIT” default =”główny” basedir =”..”>

<!– Ustawia zmienne, które mogą być później wykorzystane. –>

<!– Wartość nieruchomości jest dostępna za pośrednictwem ${} –>

<Nazwa obiektu =”src.dir” location =”src” />

<Nazwa obiektu =”test.dir” location =”testy” />

<Nazwa obiektu =”build.dir” location =”bin” />

<Nazwa obiektu =”build.test.dir” location =”bin / testy” />

<!– Zmienne wykorzystywane do JUnit sprawd –>

<Nazwa obiektu =”test.report.dir” location =”Dostosowywanie portu” />

<!– Określ ścieżkę klasy, który obejmuje junit.jar i zajęcia po kompilacji–>

<id path =”junit.class.path”>

<pathelement location =”lib / JUnit-4.11.jar” />

<pathelement location =”lib / hamcrest-core-1.3.jar” />

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

</ścieżka>

<!– Usuwa istniejący build, dokumentów i katalogu dist–>

<Nazwa target =”czysty”>

<usuwać dir =”${build.dir}” />

<usuwać dir =”${test.report.dir}” />

</cel>

<!– Tworzy kompilacji, dokumentów i katalogu dist–>

<Nazwa target =”MakeDir”>

<mkdir dir =”${build.dir}” />

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

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

</cel>

<!– Kompiluje kod java (w tym korzystanie z biblioteki dla JUnit –>

<Nazwa target =”compile” zależy =”czysty, MakeDir”>

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

<classpath refid =”junit.class.path” />

</javac>

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

<classpath refid =”junit.class.path” />

</javac>

</cel>

<!– Przeprowadź testy JUnit –>

<!– Wyjście jest XML, może być również zwykły–>

<Nazwa target =”JUnit” zależy =”compile”>

<JUnit printsummary =”on” widelec =”prawdziwy” haltonfailure =”tak”>

<classpath refid =”junit.class.path” />

<classpath>

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

</classpath>

<Typ formater =”xml” />

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

<fileset dir =”${test.dir}”>

<obejmują name =”**/*Test * .java” />

</fileset>

</batchtest>

</JUnit>

</cel>

<Nazwa target =”główny” zależy =”compile, JUnit”>

<opis>Główny cel</opis>

</cel>

</projekt>

Kiedy uruchomić ten skrypt, najpierw kompiluje kod bazowy, a następnie uruchamia testy JUnit na skompilowany kod i wreszcie generuje raport z badań. Sprawozdanie z badań mogą być generowane w dowolnym formacie. Dla wygody ten generowane w formacie XML.

WYMIENIANIE KOLEJNO 5: Wygenerowany raport z badań w formacie XML

<?xml version =”1.0″ encoding =”UTF-8″?>

-<Zestaw testowy timestamp =”2013-10-26T18:52:45″ czas =”0.077″ testy =”1″ name =”com.home.junit.SampleAddTest” hostname =”INDTAPPL132-001″ awarie =”0″ błędy =”0″>-<properties><Nazwa obiektu =”java.vendor” value =”Oracle Corporation”/><Nazwa obiektu =”sun.java.launcher” value =”SUN_STANDARD”/><Nazwa obiektu =”eclipse.pdebuild.templates” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/templates/”/><Nazwa obiektu =”sun.management.compiler” value =”HotSpot Klient Compiler”/><Nazwa obiektu =”os.name” value =”System Windows 7″/><Nazwa obiektu =”sun.boot.class.path” value =”C:\Program Files Java jre7 lib resources.jar;C:\Program Files Java jre7 lib rt.jar;C:\Program Files Java jre7 lib sunrsasign.jar;C:\Program Files Java jre7 lib jsse.jar;C:\Program Files Java jre7 stać jce.jar;C:\Program Files Java jre7 lib charsets.jar;C:\Program Files Java jre7 lib jfr.jar;C:\Program Files Java Classes jre7”/><Nazwa obiektu =”sun.desktop” value =”okna”/><Nazwa obiektu =”java.vm.specification.vendor” value =”Oracle Corporation”/><Nazwa obiektu =”ant.home” value =”F:\Utpal Softs Softs eclipse-java-indygo-win32 eclipse plugins org.apache.ant_1.8.2.v20110505-1300″/><Nazwa obiektu =”java.runtime.version” value =”1.7.0_45-B18″/><Nazwa obiektu =”user.name” value =”utpalb”/><Nazwa obiektu =”build.dir” value =”F:\Work RnDSpace Junit bin”/><Nazwa obiektu =”user.language” value =”w”/><Nazwa obiektu =”test.report.dir” value =”F:\Work RnDSpace Junit testreport”/><Nazwa obiektu =”sun.boot.library.path” value =”C:\Program Files Java jre7 bin”/><Nazwa obiektu =”ant.project.default-target” value =”główny”/><Nazwa obiektu =”ant.project.name” value =”JUNIT”/><Nazwa obiektu =”java.version” value =”1.7.0_45″/><Nazwa obiektu =”user.timezone” value =””/><Nazwa obiektu =”sun.arch.data.model” value =”32″/><Nazwa obiektu =”java.endorsed.dirs” value =”C:\Program Files Java jre7 lib zatwierdzony”/><Nazwa obiektu =”sun.cpu.isalist” value =”pentium_pro MMX pentium_pro Pentium MMX Pentium i486 i386 I86″/><Nazwa obiektu =”sun.jnu.encoding” value =”CP1252″/><Nazwa obiektu =”file.encoding.pkg” value =”sun.io”/><Nazwa obiektu =”file.separator” value =”\”/><Nazwa obiektu =”java.specification.name” value =”Platforma Java API Specyfikacja”/><Nazwa obiektu =”java.class.version” value =”51.0″/><Nazwa obiektu =”user.country” value =”NAS”/><Nazwa obiektu =”java.home” value =”C:\Program Files Java jre7″/><Nazwa obiektu =”java.vm.info” value =”tryb mieszany, dzielenie się”/><Nazwa obiektu =”ant.file” value =”F:\Work RnDSpace Junit budować build.xml”/><Nazwa obiektu =”os.version” value =”6.1″/><Nazwa obiektu =”path.separator” value =”;”/><Nazwa obiektu =”java.vm.version” value =”24.45-B08″/><Nazwa obiektu =”user.variant” value =””/><Nazwa obiektu =”ant.library.dir” value =”F:\Utpal Softs Softs eclipse-java-indygo-win32 eclipse plugins org.apache.ant_1.8.2.v20110505-1300 lib”/><Nazwa obiektu =”java.awt.printerjob” value =”sun.awt.windows.WPrinterJob”/><Nazwa obiektu =”sun.io.unicode.encoding” value =”UnicodeLittle”/><Nazwa obiektu =”ant.file.type.JUNIT” value =”plik”/><Nazwa obiektu =”awt.toolkit” value =”sun.awt.windows.WToolkit”/><Nazwa obiektu =”user.script” value =””/><Nazwa obiektu =”ant.file.JUNIT” value =”F:\Work RnDSpace Junit budować build.xml”/><Nazwa obiektu =”eclipse.pdebuild.scripts” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/”/><Nazwa obiektu =”user.home” value =”C:\Users utpalb”/><Nazwa obiektu =”java.specification.vendor” value =”Oracle Corporation”/><Nazwa obiektu =”test.dir” value =”F:\Work RnDSpace testy JUnit”/><Nazwa obiektu =”java.library.path” value =”C:\Program Files Java jre7 bin;C:\Windows Sun Java bin;C:\Windows system32;C:\Okna;C:/Program Files / Java / jre7 / bin / klient;C:/Program Files / Java / jre7 / bin;C:/Program Files / Java / jre7 / lib / i386;C:\Windows system32;C:\Okna;C:\Windows System32 Wbem;C:\Windows System32 WindowsPowerShell v1.0 ;C:\Program Files Java jdk1.6.0_10 bin;To:\apache-ant-1.8.2-bin apache-ant-1.8.2 bin;C:\Program Files płynne Technologies Ciecz XML Studio 2011 XmlDataBinder9 Redist9 CPP win32 bin;C:\Program Files TortoiseSVN bin;To:\android-sdk platform-tools Program Files Android ;To:\android-sdk tools Program Files Android ;C:\Program Files QuickTime QTSystem ;D:\Sun AppServer bin;9;F:\Utpal Softs Softs eclipse-java-indygo-win32 eclipse;;.”/><Nazwa obiektu =”java.vendor.url” value =”http://java.oracle.com/”/><Nazwa obiektu =”java.vm.vendor” value =”Oracle Corporation”/><Nazwa obiektu =”java.runtime.name” value =”Jawa(TM) SE Runtime Environment”/><Nazwa obiektu =”sun.java.command” value =”org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner com.home.junit.SampleAddTest filtertrace = true haltOnError = false haltOnFailure = true formater = org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter showoutput = fałszywe outputtoformatters = true logfailedtests = true logtestlistenerevents = false formater = org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,F:\Work RnDSpace Junit testreport TEST-com.home.junit.SampleAddTest.xml crashfile = F:\Work RnDSpace Junit junitvmwatcher6288340937110531134.properties propsfile = F:\Work RnDSpace Junit junit7583515827572177542.properties”/><Nazwa obiektu =”java.class.path” value =”F:\Work RnDSpace Junit lib JUnit-4.11.jar;F:\Work RnDSpace Junit lib hamcrest-core-1.3.jar;F:\Work RnDSpace Junit bin;F:\ Work RnDSpace Junit bin testy;F:\Work RnDSpace JUnit;C:\Program Files Java jdk1.6.0_10 jre lib rt.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”/><Nazwa obiektu =”ant.version” value =”Apache Ant(TM) version 1.8.2 skompilowany grudnia 20 2010″/><Nazwa obiektu =”java.vm.specification.name” value =”Specyfikacja maszyny wirtualnej Java”/><Nazwa obiektu =”java.vm.specification.version” value =”1.7″/><Nazwa obiektu =”sun.cpu.endian” value =”mało”/><Nazwa obiektu =”sun.os.patch.level” value =”Service Pack 1″/><Nazwa obiektu =”eclipse.pdebuild.home” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/./”/><Nazwa obiektu =”java.io.tmpdir” value =”C:\Users utpalb AppData Local Temp ”/><Nazwa obiektu =”java.vendor.url.bug” value =”http://bugreport.sun.com/bugreport/”/><Nazwa obiektu =”os.arch” value =”x86″/><Nazwa obiektu =”java.awt.graphicsenv” value =”sun.awt.Win32GraphicsEnvironment”/><Nazwa obiektu =”java.ext.dirs” value =”C:\Program Files Java jre7 lib ext;C:\Windows Sun Java lib ext”/><Nazwa obiektu =”user.dir” value =”F:\Work RnDSpace Junit build”/><Nazwa obiektu =”build.test.dir” value =”F:\ Work RnDSpace Junit bin testy”/><Nazwa obiektu =”line.separator” value =” “/><Nazwa obiektu =”java.vm.name” value =”Java HotSpot(TM) klient VM”/><Nazwa obiektu =”basedir” value =”F:\Work RnDSpace JUnit”/><Nazwa obiektu =”ant.java.version” value =”1.7″/><Nazwa obiektu =”ant.core.lib” value =”F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant.jar”/><Nazwa obiektu =”file.encoding” value =”CP1252″/><Nazwa obiektu =”java.specification.version” value =”1.7″/><Nazwa obiektu =”src.dir” value =”F:\Work RnDSpace Junit src”/><Nazwa obiektu =”ant.project.invoked-cele” value =”główny”/></properties><Test czasu case =”0.003″ name =”testAdd” classname =”com.home.junit.SampleAddTest”/>-<System-out>

<![CDATA[]]>

</System-out>-<System-err>

<![CDATA[]]>

</System-err></Test Suite>

Wniosek: Więc po przedyskutowaniu wszystkich powyższych teorii i wdrażania szczegóły możemy wywnioskować z poniższych wydarzeń.

  • Apache Ant to narzędzie java oparte wykorzystywane przez programistów Java dla następujących celów
    • Aby wygenerować pliki binarne z kodu źródłowego
    • Aby wygenerować Javadocs dla kodu źródłowego
    • Aby uruchomić testów JUnit na podstawie kodu
  • ANT we współpracy z JUnit, pomaga programistom Java, aby postępować zgodnie z metodologią opracowywania badań Driven

Mam nadzieję, że cieszył się artykuł i dostał jasną wiedzę na temat narzędzia i jego realizacji. Jeśli masz jakiekolwiek zapytania, wyślij do mnie maila i chciałbym, aby odpowiedzieć na Twoje pytania.

 

Tagged on: ,
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share