Junit Reports sind leer

MichaelP

Mitglied
Ich benutze Junit für Unit Tests und ein Ant Script:
[XML]<target name="UnitTests">
<junit printSummary="true" showOutput="true" fork="yes">
<!-- <formatter type="brief" usefile="false"/> -->
<formatter type="xml"/>
<!-- <formatter type="plain" usefile="false" /> -->
<classpath >
<pathelement location="${bin_dir}"/>
<pathelement path="${clover.jar}"/>
</classpath>
<batchtest>
<fileset dir="${bin_dir}">
<include name="*Test.class"/>
</fileset>
</batchtest>
</junit>
<junitreport todir="${report_dir}/junit/xml">
<fileset dir="${report_dir}/junit/xml">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${report_dir}/junit/html"/>
</junitreport>
</target>[/XML]
Das Problem ist, dass zwar die Dateien erstellt werden, allerdings ohne Daten. Die Datei TESTS-TestSuites.xml hat zum Beispiel nur folgenden Inhalt:
[XML]<?xml version="1.0" encoding="UTF-8" ?>
<testsuites />
[/XML]

Aber es gibt noch eine weiter Datei: TEST-CalcTest.xml. In dieser steht was drin, aber von wem wird diese erzeugt? Von Ant oder JUnit?
 
M

maki

Gast
Vom junitreport Task ;)

IMHO ist das kein problem, sondern absicht.
Die statische Testsuite aggregiert nur Tests, einzelne Ergebnisse gibt es IMHO nur zu einzelnen Testklassen.
 

MichaelP

Mitglied
Das heißt, ich müsste für jeden Test einzeln einen Report generieren lassen oder wie?

Meine Testklasse sieht so aus:
Java:
import static org.junit.Assert.*;
import org.junit.Test;

public class CalcTest {
	
	@Test
	public void testAdd() throws CalcException{
		Calc calc = new Calc();
		assertEquals(8.0, calc.add(3, 5));
		assertEquals(-2.0, calc.add(3, -5));
		assertEquals(42.0, calc.add(40, 2));
	}
	
	@Test
	public void testMinus() {
		Calc calc = new Calc();
		assertEquals(-2.0, calc.minus(3.0, 5.0));
	}
}
Was müsste ich jetzt ändern, dass ich dafür die berichte bekomme?
 
Zuletzt bearbeitet:

MichaelP

Mitglied
So, ich habe ja definitiv keine Testsuit. Die build.xml Datei habe ich jetzt so geändert, dass die Tests einzeln gemacht werden.
Testklasse in der Datei Projekt\srcTest\CalcTest.java
Java:
public class CalcTest {
	
	@Test
	public void testAdd() throws CalcException{
		Calc calc = new Calc();
		assertEquals(8.0, calc.add(3, 5));
		assertEquals(-2.0, calc.add(3, -5));
		assertEquals(42.0, calc.add(40, 2));
	}
	
	@Test
	public void testMinus() {
		Calc calc = new Calc();
		assertEquals(-2.0, calc.minus(3.0, 4.0));
	}
}
Die binäre Version liegt dann im Ordner Projekt\bin\CalcTest.class

Meine Ant build-Datei sieht wie folgt aus:
[XML]<?xml version="1.0"?>

<project name="Ant-JUnit" default="" basedir=".">
<description>Build file</description>

<property name="src_dir" location="./src"/>
<property name="srcTest_dir" location="./srcTest"/>
<property name="bin_dir" location="./bin"/>
<property name="report_dir" location="./reports"/>

<target name="Cleanup">
<delete verbose="true">
<fileset dir="${bin_dir}">
<include name="*.class"/>
</fileset>
</delete>
<delete verbose="true">
<fileset dir="./">
<include name="TEST-*.xml"/>
</fileset>
</delete>
<delete verbose="true" dir="${report_dir}"/>
<mkdir dir="${report_dir}/junit/html"/>
<mkdir dir="${report_dir}/junit/xml"/>
</target>

<target name="BuildProject">
<mkdir dir="${bin_dir}"/>
<javac destdir="${bin_dir}" verbose="true">
<src>
<pathelement location="${src_dir}"/>
<pathelement location="${srcTest_dir}"/>
</src>
</javac>
</target>

<target name="UnitTests">
<junit printSummary="true" showOutput="true" fork="yes">
<formatter type="xml"/>
<classpath >
<pathelement location="${bin_dir}"/>
<pathelement location="${srcTest_dir}"/>
<pathelement path="${clover.jar}"/>
</classpath>
<test name="srcTest.CalcTest.testAdd"/>
<test name="CalcTest.testMinus"/>
</junit>
<junitreport todir="${report_dir}/junit/xml">
<fileset dir="${report_dir}/junit/xml">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${report_dir}/junit/html"/>
</junitreport>
</target>
</project>[/XML]
Als Ergebnis erhalte ich zwei XML-Dateien mit den Namen der Testklassen: TEST-CalcTest.testAdd.xml. allerdings auch mit folgender Fehlermeldung am Ende dieser Dateien:
[XML]<error message="CalcTest.testAdd" type="java.lang.ClassNotFoundException">java.lang.ClassNotFoundException: CalcTest.testAdd[/XML]
Und die Berichte im Ordner Projekt\report\junit\xml und Projekt\report\junit\html sind immer noch ohne Daten. Sie beinhalten nur das Grundgerüst. Bzw. Die Datei TESTS-TestSuites.xml nur:
[XML]<?xml version="1.0" encoding="UTF-8" ?>
<testsuites />[/XML]
Dabei gibt es doch gar keine Testsuit.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
9 IDEA IntelliJ Wie kann man ein JUnit Test bei IntelliJ durchführen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
H kann in Eclipse org.junit nicht importieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
W NetBeans Junit - Test geht nicht mehr IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J JUnit Tests machen eclipse probleme IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
S JUnit Exception expected IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
B Eclipse Eclipse & JUnit: Zusatzhinweise ausgeben? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
S Eclipse: JUnit bei jedem Projekt automatisch hinzufügen lassen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
S Eclipse eclipse und junit IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
achillesat Eclipse RAP und JUnit Integration IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
A Junit Tests aus unterschiedlichen Projekten hintereinander ausführen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J NetBeans JUnit 4.5: initialization Error caused an ERROR: Test class can only have one constructor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
M Junit Testfall mehrfach ausführen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
M junit best practices IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
L Eclipse-Projekt aus SVN so auschecken, daß Junit funktioniert IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
N Junit: datengetriebene und abhängige tests IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
0x7F800000 Wie JUnit auf 4.6 in eclipse updaten? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 17
O Junit und Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S JUnit: assertequal für HashSet IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
T JUnit: nach fehlgeschlagenem Test nicht abbrechen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
D Junit und private Methoden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
Y Maven und JUnit IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
K [junit] wie Beispiel starten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
T Netbeans 4.1 --> junit library could not be found ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
J Jasper Reports und nbm IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
R jasper reports rpt-ausgabe drucker abhängig ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
R Speicherprobleme bei grafischen BIRT-Reports IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
B Reports generieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
A Wie sind Multi-POM Maven Projects zu verwalten/releasen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
M Eclipse zeigt mir nichtmehr an, welche Methoden in einer Klasse sind IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
T DrJava: Variablen sind angeblich final IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
dzim Eclipse Meine Menüs sind weg... IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
P Wo sind die Vorlagen für ein GUI in Netbeans geblieben? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
Momolin Eclipse installierte Plugins sind nicht ausführbar IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
T Alle Projekte sind verschwunden !! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
T Eclipse registriert nicht, dass die Fehler behoben sind IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
B Welche Plugins sind für Eclipse nützlich? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9

Ähnliche Java Themen

Neue Themen


Oben