Bonjour,
Je tente depuis deux jours de savoir comment faire pour executer mes tests unitaires depuis un script Ant.
Pour commencer, j'ai deux classes de tests:
- TestDesk.Java
- TestWinner.java
Ils sont tous les deux crees sur la meme structure:
J'ai cree une classe AllTests de la facon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 package Poker.Tests; import junit.framework.TestCase; import HoldemNL.DeskHoldemNL; import Poker.Card; public class TestDesk extends TestCase { DeskHoldemNL d = null; public TestDesk(String arg0) { super(arg0); } public void setUp() { d = new DeskHoldemNL(); } public void tearDown() { d = null; } /** * Teste la detection d'une Hauteur */ public void testHauteur() { Card cards[] = {new Card('2','s'), new Card('3','d'), new Card('4','s'), new Card('5','d'), new Card('6','c'), new Card('7','h'), new Card('A','c') }; assertEquals(d.getNbCartesIdentiques(cards), 1); assertEquals(d.getNbPaires(cards), 0); } ...
Ensuite j'ai cree mon build.xml de la facon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class AllTests { public static Test suite() { TestSuite suite = new TestSuite("Tests complets"); //$JUnit-BEGIN$ suite.addTest(new TestSuite(TestDesk.class)); suite.addTest(new TestSuite(TestWinner.class)); //$JUnit-END$ return suite; } }
Malgre des tentatives successives, j'arrive invariablement a ce resultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 <?xml version="1.0" encoding="ISO-8859-1" ?> <project name="Poker" default="runtests" basedir="."> <property name="app.name" value="Poker" /> <property name="build.dir" value="build/classes" /> <property name="jar.junit" value="lib/junit.jar"/> <target name="JUNIT" description="Tester si le classpath contient bien le jar de JUnit"> <available property="junit.present" classname="junit.framework.TestCase" /> </target> <target name="compile" depends="JUNIT" description="Compiler les sources, sans compiler les tests"> <mkdir dir="${build.dir}"/> <javac srcdir="src/" destdir="${build.dir}" > <include name="**/*.java"/> </javac> </target> <target name="jar" depends="compile" description="Créer un jar contenant seulement les classes normales (pas celles de test)"> <mkdir dir="build/lib"/> <jar jarfile="build/lib/${app.name}.jar" basedir="${build.dir}" includes="fr/**"/> </target> <target name="runtests" depends="jar" if="junit.present" description="Compiler l'appli, créer le .jar, compiler les tests et lancer tous les tests du TestSuite *AllTests* en mode console"> <java fork="true" classname="junit.textui.TestRunner" taskname="junit" failonerror="true"> <arg value="Poker.Tests.TestDesk"/> <classpath> <pathelement path="${java.class.path}" /> <pathelement location="build/lib/${app.name}.jar" /> <pathelement location="${jar.junit}"/> <pathelement location="build" /> </classpath> </java> </target> </project>
Est-ce quelqu'un aurait une idee ??? J'en ai besoin.Buildfile: C:\Documents and Settings\mma\Mes documents\Mon travail\AntTest\build.xml
JUNIT:
compile:
[mkdir] Created dir: C:\Documents and Settings\mma\Mes documents\Mon travail\AntTest\build\classes
[javac] Compiling 15 source files to C:\Documents and Settings\mma\Mes documents\Mon travail\AntTest\build\classes
jar:
[mkdir] Created dir: C:\Documents and Settings\mma\Mes documents\Mon travail\AntTest\build\lib
[jar] Building MANIFEST-only jar: C:\Documents and Settings\mma\Mes documents\Mon travail\AntTest\build\lib\Poker.jar
runtests:
[junit] Class not found "Poker.Tests.TestDesk"
BUILD FAILED
C:\Documents and Settings\mma\Mes documents\Mon travail\AntTest\build.xml:25: Java returned: 1
Total time: 1 second
merci de votre aide.
Partager