JUnit - Collegare con ANT
Avremo un esempio per dimostrare come eseguire JUnit utilizzando ANT. Segui i passaggi indicati di seguito.
Passaggio 1: scarica Apache Ant
Scarica Apache Ant in base al sistema operativo su cui stai lavorando.
OS | Nome archivio |
---|---|
finestre | 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 |
Passaggio 2: impostare l'ambiente Ant
Impostare il ANT_HOMEvariabile di ambiente in modo che punti alla posizione della directory di base, in cui sono archiviate le librerie ANT sulla macchina. Supponiamo che le librerie Ant siano archiviate nella cartella apache-ant-1.8.4.
Sr.No. | Sistema operativo e descrizione |
---|---|
1 | Windows Impostare la variabile di ambiente ANT_HOME su C: \ Programmi \ Apache Software Foundation \ apache-ant-1.8.4 |
2 | Linux esportare ANT_HOME = /usr/local/apache-ant-1.8.4 |
3 | Mac esporta ANT_HOME = /Library/apache-ant-1.8.4 |
Aggiungi la posizione del compilatore Ant al percorso di sistema come segue:
OS | Produzione |
---|---|
finestre | Aggiungi la stringa %ANT_HOME\bin alla fine della variabile di sistema, Path. |
Linux | export PATH = $ PATH: $ ANT_HOME / bin / |
Mac | non richiesto |
Passaggio 3: scarica l'archivio JUnit
Scarica un archivio JUnit adatto al tuo sistema operativo.
OS | Nome archivio |
---|---|
finestre | junit4.10.jar |
Linux | junit4.10.jar |
Mac | junit4.10.jar |
Passaggio 4: creazione della struttura del progetto
Crea una cartella TestJunitWithAnt in C: \> JUNIT_WORKSPACE.
Crea una cartella src in C: \> JUNIT_WORKSPACE> TestJunitWithAnt.
Crea una cartella test in C: \> JUNIT_WORKSPACE> TestJunitWithAnt.
Crea una cartella lib in C: \> JUNIT_WORKSPACE> TestJunitWithAnt.
Creare MessageUtil classe in C: \> JUNIT_WORKSPACE> TestJunitWithAnt> srcfolder.
/*
* 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;
}
}
Creare TestMessageUtil class nella cartella C: \> JUNIT_WORKSPACE> TestJunitWithAnt> src.
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());
}
}
Copia junit-4.10.jar nella cartella C: \> JUNIT_WORKSPACE> TestJunitWithAnt> lib.
Crea ANT Build.xml
Useremo <junit> task in Ant per eseguire i nostri casi di test 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>
Esegui il seguente comando Ant.
C:\JUNIT_WORKSPACE\TestJunitWithAnt>ant
Verifica l'output.
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