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:
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);
	}
...
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
 
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;
	}
}
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
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>
Malgre des tentatives successives, j'arrive invariablement a ce resultat:
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
Est-ce quelqu'un aurait une idee ??? J'en ai besoin.

merci de votre aide.