Hallo,
ich habe ein Problem mit relativen Pfaden, die aus meinem Ant-Task für das Testen nicht richtig aufgelöst werden, aus meinem Ant-Task, um ein Java Programm laufen zu lassen, aber schon - und das obwohl ich den gleichen Classpath für beide definiert habe. :?
Ich benutze Junit 4.5.
Hier ein Auszug: aus meiner build.xml:
Lasse ich nur die Nicht-Test-Klassen laufen, habe ich werden alle relativen Pfade (Projektwurzelverzeichnis/
Pfad Zu Config/Relative Pfadangabe) richtig aufgelöst.
In einer Testfall-Klasse werden relative Pfade fälschlicherweise als (Projektwurzelverzeichnis/Relative Pfadangabe) aufgelöst, das gleiche passiert, wenn ich eine Methode einer Nicht-Testklasse aufrufe, die eine Datei benötigt. ???:L
(Junit Testfälle ohne relative Pfade funktionieren, abgesehen von den JUnit 4 Methoden setUpBeforeClass, tearDownAfterClass, wobei ich mich mit dem Grund dafür noch nicht auseinandergesetzt habe.)
Meine Projektstruktur sieht folgendermaßen aus:
Projektwurzelverzeichnis
:?: Hat irgendjemand eine Ahnung woran die richtige Auflösung der Pfade scheitert?
ich habe ein Problem mit relativen Pfaden, die aus meinem Ant-Task für das Testen nicht richtig aufgelöst werden, aus meinem Ant-Task, um ein Java Programm laufen zu lassen, aber schon - und das obwohl ich den gleichen Classpath für beide definiert habe. :?
Ich benutze Junit 4.5.
Hier ein Auszug: aus meiner build.xml:
Code:
<property name="build" value="${basedir}/build" />
<property name="classes" value="${build}/bin" />
<property name="config" value="${classes}/config" />
<path id="classpath">
<pathelement location="${lib}" />
<fileset id="lib" dir="${lib}">
<include name="**/*.jar" />
</fileset>
<pathelement location="${config}" />
<fileset id="config" dir="${config}/">
<include name="**/*.properties" />
<include name="**/*.txt" />
</fileset>
<pathelement location="${classes}" />
</path>
<target name="run" depends="compile">
<java fork="true" dir="${classes}" classname="${mainclass}">
<classpath refid="classpath" />
</java>
</target>
<target name="test" depends="compile">
<junit printsummary="yes" haltonfailure="yes" showoutput="yes">
<classpath refid="classpath" />
<batchtest fork="yes">
<fileset dir="${src}" >
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
Lasse ich nur die Nicht-Test-Klassen laufen, habe ich werden alle relativen Pfade (Projektwurzelverzeichnis/
Pfad Zu Config/Relative Pfadangabe) richtig aufgelöst.
In einer Testfall-Klasse werden relative Pfade fälschlicherweise als (Projektwurzelverzeichnis/Relative Pfadangabe) aufgelöst, das gleiche passiert, wenn ich eine Methode einer Nicht-Testklasse aufrufe, die eine Datei benötigt. ???:L
(Junit Testfälle ohne relative Pfade funktionieren, abgesehen von den JUnit 4 Methoden setUpBeforeClass, tearDownAfterClass, wobei ich mich mit dem Grund dafür noch nicht auseinandergesetzt habe.)
Meine Projektstruktur sieht folgendermaßen aus:
Projektwurzelverzeichnis
Code:
- src
- config
- java
- test
- build
- bin
- config
- java
- test