# Fehler bei Junit Tests über Ant



## Aske (25. Apr 2009)

Hallo zusammen,

ich weiß leider nicht mehr weiter. Ich habe ein kleines HalloWelt Programm und einen dazugehörigen JUnit Testcase. Über ein Antskript lasse ich das ganze bauen und die Unit Tests ablaufen. Allerdings findet JUnit die Klasse mit dem Testcase nicht (also nicht das bekannte Problem mit dem junit.jar, sondern meine eigene Testklasse).

So sind die wichtigen Einträge im Skript:

[XML]  <property name="build" location="build"/>
  <property name="dist"  location="dist"/>

	 <path id="classpath">
	 	<pathelement location="${build}/ant/test" />
	  </path>

 <target name="junit" depends="dist">
    	<mkdir dir="${report.dir}"/>
        <junit printsummary="yes">
            <classpath>
            	<path refid="classpath"/>
            	<path refid="application"/>
				<fileset dir="lib">
					<include name="**/*.jar"/>
				</fileset>
            </classpath> 

            <formatter type="xml"/>

            <batchtest fork="yes" todir="${report.dir}">
                <fileset dir="${src}/ant/test" includes="*Test.java"/>
            </batchtest>
        </junit>
    </target>[/XML]
Die Ant Ausgabe:


```
[junit] Running HalloWeltTest
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
    [junit] Test HalloWeltTest FAILED
```

im JUnit Report steht dann:


```
<error message="HalloWeltTest (wrong name: ant/test/HalloWeltTest)" type="java.lang.NoClassDefFoundError">java.lang.NoClassDefFoundError: HalloWeltTest (wrong name: ant/test/HalloWeltTest)
```

Dabei ist HalloWeltTest die richtige Klasse und sie ist in dem Paket ant.test. Kennt jemand das Problem?


----------



## mvitz (25. Apr 2009)

Du benutzt nur Ordner und denkst nicht an die packages.

[XML]<property name="build" location="build"/>
<property name="dist" location="dist"/>

<path id="classpath">
  <pathelement location="${build}" />
</path>

<target name="junit" depends="dist">
  <mkdir dir="${report.dir}"/>
  <junit printsummary="yes">
    <classpath>
      <path refid="classpath"/>
      <path refid="application"/>
      <fileset dir="lib">
        <include name="**/*.jar"/>
      </fileset>
    </classpath>

    <formatter type="xml"/>

    <batchtest fork="yes" todir="${report.dir}">
      <fileset dir="${src}" includes="**/*Test.java"/>
    </batchtest>
  </junit>
</target>
[/XML]

Müsste so gehen.


----------



## Aske (25. Apr 2009)

Super, genau so klappts!

Vielen Dank!


----------

