problem mit JUnit tests mit Ant in Eclipse. Anfänger-Frage
Ich Lerne in diesen Tagen, wie die Verwendung von ant ausführen automatisierter Tests dazu diese tutorial.
Habe ich JUnit in den classpath meines Projekts. Alle scheinen gut zu funktionieren und ich kann es in meinem Unterricht:
import junit.framework.TestCase; //line20
public class SimpleLattice1DTest extends TestCase{
...
}
Meine build.xml ist:
<?xml version="1.0"?>
<project name="Ant-Test" default="compile" basedir=".">
<!-- Sets variables which can later be used. -->
<!-- The value of a property is accessed via ${} -->
<property name="src.dir" location="." />
<property name="build.dir" location="build" />
<property name="dist.dir" location="dist" />
<property name="docs.dir" location="docs" />
<property name="test.dir" location="jlife/tests" />
<property name="test.report.dir" location="test/report" />
<!-- Deletes the existing build, docs and dist directory-->
<target name="clean">
<delete dir="${build.dir}" />
<delete dir="${docs.dir}" />
<delete dir="${dist.dir}" />
</target>
<!-- Creates the build, docs and dist directory-->
<target name="makedir">
<mkdir dir="${build.dir}" />
<mkdir dir="${docs.dir}" />
<mkdir dir="${dist.dir}" />
<mkdir dir="${test.report.dir}" />
</target>
<!-- Compiles the java code (including the usage of library for JUnit -->
<target name="compile" depends="clean, makedir">
<javac srcdir="${src.dir}" destdir="${build.dir}">
</javac>
</target>
<!-- Creates Javadoc -->
<target name="docs" depends="compile">
<javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}">
<!-- Define which files /directory should get included, we include all -->
<fileset dir="${src.dir}">
<include name="**" />
</fileset>
</javadoc>
</target>
<!--Creates the deployable jar file -->
<target name="jar" depends="compile">
<jar destfile="${dist.dir}\CoreTest.jar" basedir="${build.dir}">
<manifest>
<attribute name="Main-Test" value="test.CoreTest" />
</manifest>
</jar>
</target>
<!-- Run the JUnit Tests -->
<!-- Output is XML, could also be plain-->
<target name="junit" depends="compile">
<junit printsummary="on" fork="true" haltonfailure="yes">
<formatter type="xml" />
<batchtest todir="${test.report.dir}">
<fileset dir="${src.dir}">
<include name="**/*Test*.java" />
</fileset>
</batchtest>
</junit>
</target>
</project>
Wenn ich es in eclipse bekomme ich die folgende Fehlermeldung:
[javac] C:\Documents und
Einstellungen\noname\Documenti\JLife_git\JLife_git\JLife\src\jlife\tests\SimpleLattice1DTest.java:20:
Paket junit.Rahmen nicht existiert
[javac] import junit.Rahmen.TestCase;
Ich nehme an, es ist etwas falsch mit ihm, aber ich habe keine Ahnung. Könnte jemand mich in die richtige Richtung?
Übrigens, die 'junit.Rahmen.TestCase' - Klasse ist Teil des JUnit-3. JUnit-4 hat eine Reihe von Verbesserungen, so würde ich empfehlen, dass, wenn Sie können.
InformationsquelleAutor Heisenbug | 2011-09-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
javac
Ziel nicht angeben, so etwas neben dem Quell-und Ziel-directory - it doesn ' T fügen Sie keine classpath-Einträge; Sie müssen zum hinzufügen eines Eintrags für den entsprechenden JUnit-jar-Datei. Finden Sie diejavac
task-Dokumentation für mehr details. Sie können möchten, geben Sie den Pfad zu JUnit als classpath-Attribut, ein verschachteltes element, oder einen Verweis auf einen Pfad deklariert anderswo.InformationsquelleAutor Jon Skeet
Dem eclipse Klassenpfad ist unabhängig von Ihrer ant-Umgebung. In deinem build-Datei, wenn Sie Sie nennen
javac
Sie brauchen, um liefern eine classpath-Attribut.Definieren Sie den classpath auf den Anfang der Datei, mit dem rest Ihrer Eigenschaften, wie z.B. diese:
und dann verwenden Sie es in jeder Aufruf von javac von der Einstellung der
classpathref
- Attribut, wie hier:InformationsquelleAutor GenericJon
Müssen Sie das Verzeichnis angeben, enthält Ihr .die class-Dateien und die externen jars (wie z.B. junit).
z.B.
Hier ist die komplette Datei, ich habe diesen Auszug aus falls Sie Ideen brauchen, wie Sie setup-andere Allgemeine Dinge (emma, javadoc, etc.)
InformationsquelleAutor JohnKlehm
Wenn Sie feststellen, dass der Fehler-stack, finden Sie die folgende Zeile oberhalb der Fehler-Linie, die Sie erwähnt...
[javac] [such-Pfad für class-Dateien: C:\Program Dateien\Java\jre6\lib\resource...
Diese Zeile zeigt all die Gläser, verfügbar in den class-path für dieses ant-target-Ausführung.
Sie werden auf jeden Fall nicht finden Sie die gewünschte jar-hier also junit-x.x.x.jar (junit-4.8.2.jar)
Gehen Sie jetzt zu eclipse -> Fenster -> Einstellungen -> Ant -> Runtime -> Globale Einträge -> Add Jars hinzufügen junit-4.8.2 jar (die finden Sie in Ihrem Projekt lib-Verzeichnis)
Wenn Sie spielen, um die Ant -> Runtime -> classpath und classpath zugehörigen Fehler-Zeile in der Fehler-stack, Sie verstehen das Problem.
Hoffe, das löst dein problem.
InformationsquelleAutor Aniruddha Jagtap