How to run JUNIT testing framework using build tool ANT?

Panoramica:

In questo documento si discuterà sullo strumento di build di test formica e l'unità di quadro Junit. Entrambi questi sono diventati una parte integrante dello sviluppo Java. Sia formica e Junit sono ampiamente utilizzati nel mondo Java. La maggior parte dei clienti piace vedere il registro di unit test prima di esporre il codice per il test del sistema e collaudo funzionale.

Introduzione:

Apache Ant è un tool di creazione generica. The name ANT stand abbreviato per 'Lanother Nmangiare TOOL '. Questo strumento è simile al 'Rendere' utilità UNIX ma è implementato utilizzando Java. E 'utilizzato principalmente per costruire i binari di un codice sorgente Java based e la distribuzione del binario generato da un server di applicazioni che è pre-definito. Può anche essere usato per generare javadoc per una base di codice e per eseguire il test suite unità per l'intero codebase. Formica in collaborazione con JUnit aiuta gli sviluppatori a seguire l'approccio di sviluppo test driven.

Ant richiede compilatore Java per essere installato con la variabile d'ambiente JAVA_HOME set con il suo valore adeguato. Ant utilizza un XML file per definire la procedura di costruzione. Il nome predefinito di questo file è build.xml. Alcuni sviluppatori anche utilizzare il file vale a dire una proprietà build.properties definire alcune proprietà ad es. il numero di versione di build e altri parametri ambientali, che sono necessari per cambiare di volta in volta in base alla necessità.

Installation: In questa sezione si discuterà circa l'installazione di ANT su diversi sistemi operativi.

FEDORA - su RHEL, ANT può essere installato utilizzando il comando - yum install formica o può essere installato utilizzando il numero di giri - io comando. In questo caso è necessario scaricare il pacchetto formica prima.

DEBIAN - su Ubuntu, ANT può essere installato utilizzando il comando - apt-get install formica.

finestre – Su ambiente Windows è necessario scaricare il ant_<VERSION_NO>.file zip. Questo pacchetto zip deve essere estratto in una cartella. Questa cartella deve essere definita come una variabile d'ambiente ANT_HOME.

Un esempio di file build.xml è mostrato come sotto:

QUOTAZIONE 1: file build.xml di esempio

<?xml version =”1.0″?>

<nome del progetto =”Ant-Test” default =”principale” basedir =”.”>

<!– Imposta le variabili che possono poi essere utilizzati. –>

<!– Il valore di una proprietà si accede tramite ${} –>

<property name =”src.dir” location =”src” />

<property name =”build.dir” location =”bin” />

<property name =”dist.dir” location =”dist” />

<property name =”docs.dir” location =”Documenti” />

<!– Elimina i documenti esistenti, costruire e directory dist–>

<Nome target =”pulito”>

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

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

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

</bersaglio>

<!– Crea la documentazione, costruire e directory dist–>

<Nome target =”MakeDir”>

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

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

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

</bersaglio>

<!– Compila il codice java (tra cui l'utilizzo di libreria per JUnit –>

<Nome target =”compile” dipende =”pulito, MakeDir”>

<javac srcdir =”${src.dir}” confisca =”${build.dir}”>

</javac>

</bersaglio>

<!– crea Javadoc –>

<Nome target =”Documenti” dipende =”compile”>

<javadoc packagenames =”src” SourcePath =”${src.dir}” confisca =”${docs.dir}”>

<!– Definire i file / directory dovrebbe essere inclusi, includiamo tutti –>

<set di file dir =”${src.dir}”>

<includere il nome =”**” />

</set di file>

</javadoc>

</bersaglio>

<!–Crea il file jar schierabile –>

<Nome target =”jar” dipende =”compile”>

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

<manifesto>

<attributo name =”Main-Class” value =”test.Main” />

</manifesto>

</jar>

</bersaglio>

<Nome target =”principale” dipende =”compile, jar, Documenti”>

<descrizione>L'obiettivo principale</descrizione>

</bersaglio>

</progetto>

ANT con JUnit:

Ant fornisce un grande aiuto per gli sviluppatori Java che utilizzano l'approccio di sviluppo test driven. Come sappiamo in test driven metodologia di sviluppo JUnit è una costrizione, è sempre un vantaggio, se abbiamo uno script automatico che gestisce tutti i casi di test JUnit in un colpo solo. Non solo questo script può essere utilizzato anche se abbiamo uno strumento di integrazione continua come Hudson. Il nostro codice di esempio seguente illustra come utilizzare ANT con JUnit.

QUOTAZIONE 2: Un file di esempio Java

package com.home.junit;

pubblico classe SampleAdd {

pubblico int aggiungi(int X, int e) {

ritorno X + e;

}

}

QUOTAZIONE 3: Il file corrispondente JUnit

pacchetto com.home.junit;

importazione org.junit.After;

importazione org.junit.Assert;

importazione org.junit.Before;

importazione org.junit.Test;

public class SampleAddTest {

privato SampleAdd sampleClass;

@Prima

setUp public void() {

sampleClass = new SampleAdd();

}

@Test

public void testAdd() {

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

}

@Dopo

settleDown public void() {

sampleClass = null;

}

}

QUOTAZIONE 4: Lo script ANT per compilare ed eseguire il test JUnit

<?xml version =”1.0″?>

<nome del progetto =”JUNIT” default =”principale” basedir =”..”>

<!– Imposta le variabili che possono poi essere utilizzati. –>

<!– Il valore di una proprietà si accede tramite ${} –>

<property name =”src.dir” location =”src” />

<property name =”test.dir” location =”test” />

<property name =”build.dir” location =”bin” />

<property name =”build.test.dir” location =”bin / test” />

<!– Variabili utilizzate per JUnit testin –>

<property name =”test.report.dir” location =”rapporto di prova” />

<!– Definire il percorso di classe che comprende la junit.jar e le classi dopo la compilazione–>

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

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

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

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

</il percorso>

<!– Elimina la costruzione esistente, docs e directory dist–>

<Nome target =”pulito”>

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

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

</bersaglio>

<!– Crea la build, docs e directory dist–>

<Nome target =”MakeDir”>

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

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

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

</bersaglio>

<!– Compila il codice java (tra cui l'utilizzo di libreria per JUnit –>

<Nome target =”compile” dipende =”pulito, MakeDir”>

<javac srcdir =”${src.dir}” confisca =”${build.dir}”>

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

</javac>

<javac srcdir =”${test.dir}” confisca =”${build.test.dir}”>

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

</javac>

</bersaglio>

<!– Eseguire i test JUnit –>

<!– L'uscita è XML, potrebbe anche essere normale–>

<Nome target =”JUnit” dipende =”compile”>

<JUnit printsummary =”su” forchetta =”vero” haltonfailure =”sì”>

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

<classpath>

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

</classpath>

<tipo di formattazione =”xml” />

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

<set di file dir =”${test.dir}”>

<includere il nome =”**/*Prova * .java” />

</set di file>

</batchtest>

</JUnit>

</bersaglio>

<Nome target =”principale” dipende =”compile, JUnit”>

<descrizione>L'obiettivo principale</descrizione>

</bersaglio>

</progetto>

Quando si esegue questo script, in primo luogo compila il codice di base e quindi esegue i test JUnit sul codice compilato e, infine, genera un rapporto di prova. Il rapporto di prova può essere generato in qualsiasi formato. Per comodità abbiamo generato questo in formato XML.

QUOTAZIONE 5: Il rapporto di prova generato in formato XML

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

-<testsuite timestamp =”2013-10-26T18:52:45″ tempo =”0.077″ test =”1″ name =”com.home.junit.SampleAddTest” hostname =”INDTAPPL132-001″ fallimenti =”0″ errori =”0″>-<properties><property name =”java.vendor” value =”Oracle Corporation”/><property name =”sun.java.launcher” value =”SUN_STANDARD”/><property name =”eclipse.pdebuild.templates” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/templates/”/><property name =”sun.management.compiler” value =”HotSpot client Compiler”/><property name =”os.name” value =”Windows 7″/><property name =”sun.boot.class.path” value =”C:\Programmi Java jre7 lib resources.jar;C:\Programmi Java jre7 lib rt.jar;C:\Programmi Java jre7 lib sunrsasign.jar;C:\Programmi Java jre7 lib jsse.jar;C:\Programmi Java jre7 diventare jce.jar;C:\Programmi Java jre7 lib charsets.jar;C:\Programmi Java jre7 lib jfr.jar;C:\Programmi Java jre7 classes”/><property name =”sun.desktop” value =”finestre”/><property name =”java.vm.specification.vendor” value =”Oracle Corporation”/><property name =”ant.home” value =”F:\Utpal Softs Softs eclipse-java-indaco-win32 eclipse plugins org.apache.ant_1.8.2.v20110505-1300″/><property name =”java.runtime.version” value =”1.7.0_45-B18″/><property name =”Nome utente” value =”utpalb”/><property name =”build.dir” value =”F:\Work RnDSpace Junit bin”/><property name =”user.language” value =”in”/><property name =”test.report.dir” value =”F:\Work RnDSpace Junit resoconto del test”/><property name =”sun.boot.library.path” value =”C:\Programmi Java jre7 bin”/><property name =”ant.project.default-bersaglio” value =”principale”/><property name =”ant.project.name” value =”JUNIT”/><property name =”java.version” value =”1.7.0_45″/><property name =”user.timezone” value =””/><property name =”sun.arch.data.model” value =”32″/><property name =”java.endorsed.dirs” value =”C:\Programmi Java jre7 lib approvato”/><property name =”sun.cpu.isalist” value =”pentium_pro MMX pentium_pro Pentium Pentium MMX i486 i386 I86″/><property name =”Sunkjnukencoding” value =”CP1252″/><property name =”file.encoding.pkg” value =”sun.io”/><property name =”File.separator” value =”\”/><property name =”java.specification.name” value =”Java Platform API Specification”/><property name =”java.class.version” value =”51.0″/><property name =”user.country” value =”NOI”/><property name =”java.home” value =”C:\Programmi Java jre7″/><property name =”java.vm.info” value =”modalita `mista, compartecipazione”/><property name =”ant.file” value =”F:\Work RnDSpace Junit costruire build.xml”/><property name =”os.version” value =”6.1″/><property name =”path.separator” value =”;”/><property name =”java.vm.version” value =”24.45-B08″/><property name =”user.variant” value =””/><property name =”ant.library.dir” value =”F:\Utpal Softs Softs eclipse-java-indaco-win32 eclipse plugins org.apache.ant_1.8.2.v20110505-1300 lib”/><property name =”java.awt.printerjob” value =”sun.awt.windows.WPrinterJob”/><property name =”sun.io.unicode.encoding” value =”UnicodeLittle”/><property name =”ant.file.type.JUNIT” value =”file”/><property name =”awt.toolkit” value =”sun.awt.windows.WToolkit”/><property name =”user.script” value =””/><property name =”ant.file.JUNIT” value =”F:\Work RnDSpace Junit costruire build.xml”/><property name =”eclipse.pdebuild.scripts” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/”/><property name =”user.home” value =”C:\Users utpalb”/><property name =”java.specification.vendor” value =”Oracle Corporation”/><property name =”test.dir” value =”F:\Lavorare RnDSpace JUnit test”/><property name =”java.library.path” value =”C:\Programmi Java jre7 bin;C:\Windows Sun Java bin;C:\Windows system32;C:\finestre;C:/Program Files / Java / jre7 / bin / cliente;C:/Programmi / Java / jre7 / bin;C:/Program Files / Java / jre7 / lib / i386;C:\Windows system32;C:\finestre;C:\Windows System32 Wbem;C:\Windows System32 WindowsPowerShell v1.0 ;C:\Programmi Java jdk1.6.0_10 bin;E:\apache-ant-1.8.2-bin apache-ant-1.8.2 bin;C:\Programmi Liquid Technologies Liquid XML Studio 2011 XmlDataBinder9 Redist9 cpp win32 bin ;C:\Programmi TortoiseSVN bin;E:\Programmi Android android-sdk platform-tools;E:\Programmi Android android-sdk tools;C:\Programmi QuickTime QTSystem ;D:\Sun AppServer bin;9;F:\Utpal Softs Softs eclipse-java-indaco-win32 eclipse;;.”/><property name =”java.vendor.url” value =”http://java.oracle.com/”/><property name =”java.vm.vendor” value =”Oracle Corporation”/><property name =”java.runtime.name” value =”Java(TM) SE Runtime Environment”/><property name =”sun.java.command” value =”org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner com.home.junit.SampleAddTest filtertrace = true haltOnError = false haltOnFailure = true formattatore = org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter showoutput = falsi outputtoformatters = true logfailedtests = true logtestlistenerevents = false formattatore = org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,F:\Work RnDSpace Junit resoconto del test TEST-com.home.junit.SampleAddTest.xml crashfile = F:\Work RnDSpace Junit junitvmwatcher6288340937110531134.properties propsfile = F:\Work RnDSpace Junit junit7583515827572177542.properties”/><property name =”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 test;F:\Work RnDSpace Junit;C:\Programmi 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”/><property name =”ant.version” value =”Apache Ant(TM) version 1.8.2 compilato dicembre 20 2010″/><property name =”java.vm.specification.name” value =”Java Virtual Machine Specification”/><property name =”java.vm.specification.version” value =”1.7″/><property name =”sun.cpu.endian” value =”piccolo”/><property name =”sun.os.patch.level” value =”Service Pack 1″/><property name =”eclipse.pdebuild.home” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/./”/><property name =”java.io.tmpdir” value =”C:\Utenti utpalb AppData Local Temp ”/><property name =”java.vendor.url.bug” value =”http://bugreport.sun.com/bugreport/”/><property name =”os.arch” value =”x86″/><property name =”java.awt.graphicsenv” value =”sun.awt.Win32GraphicsEnvironment”/><property name =”java.ext.dirs” value =”C:\Programmi Java jre7 lib ext;C:\Windows Sun Java lib ext”/><property name =”user.dir” value =”F:\Work RnDSpace Junit accumulo”/><property name =”build.test.dir” value =”F:\Work RnDSpace Junit bin test”/><property name =”line.separator” value =” “/><property name =”java.vm.name” value =”Java HotSpot(TM) client VM”/><property name =”basedir” value =”F:\Work RnDSpace Junit”/><property name =”ant.java.version” value =”1.7″/><property name =”ant.core.lib” value =”F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant.jar”/><property name =”file.encoding” value =”CP1252″/><property name =”java.specification.version” value =”1.7″/><property name =”src.dir” value =”F:\Work RnDSpace Junit src”/><property name =”ant.project.invoked-obiettivi” value =”principale”/></properties><tempo testcase =”0.003″ name =”testAdd” classname =”com.home.junit.SampleAddTest”/>-<Sistema-out>

<![CDATA[]]>

</Sistema-out>-<Sistema-err>

<![CDATA[]]>

</Sistema-err></testsuite>

Conclusione: Così, dopo aver discusso tutti i suddetti teoria e dettagli implementativi possiamo concludere con i seguenti punti salienti.

  • Apache Ant è un programma di utilità basato su Java utilizzata dagli sviluppatori Java per le seguenti finalità
    • Per generare i binari dal codice sorgente
    • Per generare javadocs per il codice sorgente
    • Per eseguire casi di test JUnit su una base di codice
  • ANT in collaborazione con JUnit, aiuta gli sviluppatori Java di seguire la metodologia Test Driven Development

Spero che abbiate goduto l'articolo e ottenuto una chiara comprensione sullo strumento e la sua attuazione. Se avete qualsiasi domanda, mi invia una mail e mi piacerebbe rispondere alle vostre domande.

 

Taggato su: ,
============================================= ============================================== Acquista i migliori libri di tecnologia su Amazon,en,ELETTRICI CT COSTRALETTRICO,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share