Ich habe eine Ant-Datei, die JUnits Tests ausgeführt wird. Diese Tests basieren auf einem relativen Pfad zu bestimmten Konfigurationsdateien. Ich habe versucht, das Arbeitsverzeichnis für den Stapeltest festzulegen, aber fehlgeschlagen.Ändern Arbeitsverzeichnis in Ant Junit Aufgabe
Ich möchte das Arbeitsverzeichnis ${plugins.dir}/${name}
Der JUnit Teil des Ant-Skript sein:
<junit haltonfailure="no" printsummary="on" fork="true" showoutput="true" dir="${plugins.dir}/${name}">
<jvmarg value="-Duser.dir=${plugins.dir}/${name}"/>
<classpath>
<path refid="project.classpath"/>
<pathelement location="${plugins.dir}/${dependency}/@dot/"/>
<pathelement location="${plugins.dir}/${name}/" />
</classpath>
<formatter type="xml" />
<sysproperty key="basedir" value="${plugins.dir}/${name}"/>
<sysproperty key="dir" value="${plugins.dir}/${name}"/>
<batchtest todir="${junit.output}">
<fileset dir="${dir}">
<include name="**\*AllTests.class" />
</fileset>
</batchtest>
</junit>
Ich habe gegoogelt und gesucht, aber die Abhilfen ich gefunden habe, waren die "einzustellen dir "," sysproperty "oder" jvmarg ". Wie Sie sehen können, habe ich sie alle ausprobiert :)
Gibt es eine Möglichkeit, das aktuelle Verzeichnis im Tag zu drucken? Es unterstützt nicht. Das würde mir erlauben zu überprüfen, ob das Verzeichnis tatsächlich geändert wurde und was.
Ein Platzhalter in dieser Gleichung ist, dass dies in Hudson ausgeführt wird, die einen Eclipse-Prozess startet, der einen Trunner startet. Dies ist so, dass wir sowohl Junit- als auch Eclipse-Plugin-Junit-Tests durchführen können. Sollte nichts mit dem Problem zu tun haben, denke ich.
Ist es nicht möglich, einfach die Tests zu beheben, so dass sie in sich geschlossen sind? Z.B. Wenn die benötigten Ressourcen stattdessen in den Klassenpfad verschoben werden, können Sie sie stattdessen über 'getClass(). getResource (String)' laden. –
@Mark Peters, Ja, das ist möglich. Aber das beinhaltet die Aktualisierung einiger 400-500 Tests, also würde ich lieber diesen Plan B in Betracht ziehen. – Fredrik