Le problème: les tests ne sont (apparemment) pas exécutés
Étape 1: compiler la source dans le répertoire bin
<target name="compile" depends="init" description="compile the source ">
<javac srcdir="${src}" destdir="${build}" includeantruntime="true" nowarn="yes" debug="true" />
<javac srcdir="${src}" destdir="${bin}" includeantruntime="true" nowarn="yes" debug="true" />
</target>
Étape 2: compiler les tests dans le bac
<target name="compileTest" depends="compile" description="compile jUnit Test cases ">
<javac srcdir="${test-dir}" destdir="${bin}" includeantruntime="true" nowarn="yes" debug="true" />
</target>
Étape 3: recherchez Test.class (es) et exécutez-les
<target name="test" depends="compileTest">
<junit>
<formatter type="plain" usefile="false" />
<formatter type="plain" />
<batchtest>
<fileset dir="${bin}" includes="**/Test*.class" />
</batchtest>
</junit>
</target>
Sortie:
Buildfile: /Users/xx/Documents/repositories/app/build.xml
clean:
[delete] Deleting directory /Users/xx/Documents/repositories/app/build
[delete] Deleting directory /Users/xx/Documents/repositories/app/bin
init:
[mkdir] Created dir: /Users/xx/Documents/repositories/app/build
[mkdir] Created dir: /Users/xx/Documents/repositories/app/bin
compile:
[javac] Compiling 145 source files to /Users/xx/Documents/repositories/app/build
[javac] Compiling 145 source files to /Users/xx/Documents/repositories/app/bin
compileTest:
[javac] Compiling 24 source files to /Users/xx/Documents/repositories/app/bin
test:
dist:
[delete] Deleting: /Users/xx/Documents/repositories/app/dist/app.jar
[jar] Building jar: /Users/xx/Documents/repositories/app/dist/app.jar
[copy] Copying 1 file to /Users/xx/Documents/repositories/app/dist
[delete] Deleting: /Users/xx/Documents/repositories/app/dist/app.war
[war] Building war: /Users/xx/Documents/repositories/app/dist/app.war
[copy] Copying 1 file to /Users/xx/Documents/repositories/app/dist
BUILD SUCCESSFUL
Total time: 5 seconds
Qu'est-ce qui me manque, s'il vous plaît?
Je crois que vous pouvez utiliser batchtest
inside junit
task:
<target name="test" depends="compileTest">
<junit>
<classpath>
<pathelement location="bin" />
<pathelement location="lib/junit-4.10.jar"/>
</classpath>
<batchtest>
<fileset dir="${test}">
<include name="**/*Test*" />
</fileset>
</batchtest>
<formatter type="brief" usefile="false"/>
</junit>
</target>
Note les éléments suivants:
fileset dir="${test}"
devrait pointer vers le répertoire source pour les tests.include name="**/*Test*"
, vous devriez pas spécifier .class
extension; ce devrait être .Java
ou rien.junit
.J'ai eu un test avec un projet simple et avec la même configuration, j'ai eu les résultats brefs. J'ai utilisé Apache Ant 1.7.1.
Utilisez " batchtest " comme ceci:
<batchtest>
<fileset dir="${tst-dir}" includes="**/Test*.class" />
</batchtest>
Exemple présent sur ici .
EDIT:
Pour l’impression de résumé, voir ant junit ne rapporte pas de détails et ceci
Notez que vous n'avez plus besoin des attributs printsummary="yes"
et showoutput="true"
dans la tâche Junit. Le formateur prend en charge la sortie maintenant.
<target name="test" depends="compileTest">
<junit>
<formatter type="plain" usefile="false" /> <!-- to screen -->
<formatter type="plain" /> <!-- to file -->
<batchtest>
<fileset dir="${bin}" includes="**/Test*.class" />
</batchtest>
</junit>
</target>