Hi, ich habe das problem, dass ich mit dem ant task junit eine testklasse ausführen soll. Diese Testklasse liegt in einem Vorgabeprojekt das vorher kompiliert und in einer jar gepackt werden soll...
allerdings schlägt der junit task fehl. ich schätze mal es liegt daran dass die testklasse in dem jar ist.
meine build.xml:
die wohl interessanten zeilen..
komplette meldung:
mit eclipse lief das wunderbar. ich musste nur im vorgabeprojekt auf die "AllTests.java" dann -> "run.." -> nud als project mein project angeben.
die klasse liest dann aus einer properties-datei aus meinem projekt aus wo sich meine "hauptklasse" befindet und instanziert dann davon objekte für die tests...
weiß jemand rat?
edit: hmm was auch seltsam ist:
warum sucht er da eine AllTests.class.xml ?
allerdings schlägt der junit task fehl. ich schätze mal es liegt daran dass die testklasse in dem jar ist.
meine build.xml:
Code:
<target name="junit" depends="compile_main">
<junit printsummary="yes" haltonerror="no" haltonfailure="no" fork="yes">
<formatter type="xml" />
<classpath>
<pathelement path=""/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</classpath>
<test todir="${reports.dir}" name="${testclass}" fork="true"/>
</junit>
<junitreport todir="${reports.dir}">
<fileset dir="${reports.dir}">
<include name="TEST-*.xml"/>
</fileset>
<report todir="${reports.dir}" format="frames"/>
</junitreport>
</target>
die wohl interessanten zeilen..
Code:
[junit] Running /de/hhn/se/mi/clock/tests/AllTests.class
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Test /de/hhn/se/mi/clock/tests/AllTests.class FAILED (crashed)
komplette meldung:
Code:
junit:
[junit] Exception in thread "main" Unable to open file F:\workspace\Clock_07_SS - Winckler\build\docs\reports\TEST-\de\hhn\se\mi\clock\tests\AllTests.class.xml
[junit] at org.apache.tools.ant.taskdefs.optional.junit.FormatterElement.createFormatter(FormatterElement.java:265)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.FormatterElement.createFormatter(FormatterElement.java:214)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.transferFormatters(JUnitTestRunner.java:818)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:910)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
[junit] Caused by: java.io.FileNotFoundException: F:\workspace\Clock_07_SS - Winckler\build\docs\reports\TEST-\de\hhn\se\mi\clock\tests\AllTests.class.xml (Das System kann den angegebenen Pfad nicht finden)
[junit] at java.io.FileOutputStream.open(Native Method)
[junit] at java.io.FileOutputStream.<init>(Unknown Source)
[junit] at java.io.FileOutputStream.<init>(Unknown Source)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.FormatterElement.createFormatter(FormatterElement.java:263)
[junit] ... 4 more
[junit] --- Nested Exception ---
[junit] java.io.FileNotFoundException: F:\workspace\Clock_07_SS - Winckler\build\docs\reports\TEST-\de\hhn\se\mi\clock\tests\AllTests.class.xml (Das System kann den angegebenen Pfad nicht finden)
[junit] at java.io.FileOutputStream.open(Native Method)
[junit] at java.io.FileOutputStream.<init>(Unknown Source)
[junit] at java.io.FileOutputStream.<init>(Unknown Source)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.FormatterElement.createFormatter(FormatterElement.java:263)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.FormatterElement.createFormatter(FormatterElement.java:214)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.transferFormatters(JUnitTestRunner.java:818)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:910)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
[junit] Running /de/hhn/se/mi/clock/tests/AllTests.class
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Test /de/hhn/se/mi/clock/tests/AllTests.class FAILED (crashed)
[junitreport] Processing F:\workspace\Clock_07_SS - Winckler\build\docs\reports\TESTS-TestSuites.xml to C:\DOKUME~1\Andi\LOKALE~1\Temp\null1137685609
[junitreport] Loading stylesheet jar:file:/F:/i3G/apache-ant-1.7.0/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] Transform time: 844ms
[junitreport] Deleting: C:\DOKUME~1\Andi\LOKALE~1\Temp\null1137685609
BUILD SUCCESSFUL
Total time: 5 seconds
mit eclipse lief das wunderbar. ich musste nur im vorgabeprojekt auf die "AllTests.java" dann -> "run.." -> nud als project mein project angeben.
die klasse liest dann aus einer properties-datei aus meinem projekt aus wo sich meine "hauptklasse" befindet und instanziert dann davon objekte für die tests...
weiß jemand rat?
edit: hmm was auch seltsam ist:
Code:
[junit] Exception in thread "main" Unable to open file F:\workspace\Clock_07_SS - Winckler\build\docs\reports\TEST-\de\hhn\se\mi\clock\tests\AllTests.class.xml
warum sucht er da eine AllTests.class.xml ?