Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
1574
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    McLeise McLeise ist offline Rookie
    Registriert seit
    Mar 2010
    Beiträge
    7
    Hi, ich bin hier neu und habe mich, nachdem ich schon öfter auf diesen Seiten Hilfe gefunden habe, nun angemeldet, da ich nicht weiter komme.

    Ich versuche JUnit-Tests mittels einer Ant-Task ablaufen zu lassen. Leider bekomme ich immer eine "java.lang.ClassNotFoundException". Ich habe jetzt bereits mehrere Stunden und etliche Websites und Foren durchstöbert, bin aber nicht zu einer Lösung gekommen.

    Hier meine build.xml:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    
    <project name = "StackTest" default="JUNIT" basedir=".">
        <description>
            ANT-File for Testing the Stack
        </description>
        
        <!--******************************
             Compilieren des Projekts
        *******************************-->
        
        <property name="src" location="src"/>
        <property name="build" location="build"/>
        <property name="dist"  location="dist"/>
        <property name="testpath" location="build/de/foo/bar"/>
        <path id="classpath.base">
        </path>
        <path id="classpath.test">
          <pathelement path="C:/Programme/junit4.8.1/junit-4.8.1.jar" />
          <pathelement path="${testpath}" />
          <path refid="classpath.base" />
        </path>
     
        
        <target name="clean">
            <!-- Erstellte Verzeichnisse loeschen -->
                <delete dir="${build}"/>
                <delete dir="${dist}"/>
       </target>
        
        <target name="compile" depends="clean">
            <!-- Compiliere den JAVA-Code -->
            <echo>Compile ...</echo>
            <mkdir dir="${build}"/>
            <javac srcdir="${src}" debug="true" optimize="false" includes="**/*.java" destdir="${build}"/>
          </target>
        
        <target name="dist" depends="compile">
            <!-- Erstellen der Distribution -->
            <echo>Erstellen der Distribution ...</echo>
            <mkdir dir="${dist}/lib"/>
            <!-- Alles in StackTest.jar Datei -->
            <jar jarfile="${dist}/lib/StackTest.jar" basedir="${build}"/>
        </target>
        
        <!--******************************
                Aufrufen der Tests
        *******************************-->
        <target name="JUNIT" depends="dist">
        <junit printsummary="yes" fork="yes" haltonfailure="no" showoutput="true">
          <formatter type="plain"/>
          <classpath refid="classpath.test"/>
          <test name="TestMyStack.class"/>
        </junit>
        </target>
        
    </project>

    Die Consolenausgabe:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    Buildfile: C:\Dokumente und Einstellungen\tme\workspace\Stack\build.xml
    clean:
    compile:
         [echo] Compile ...
        [mkdir] Created dir: C:\Dokumente und Einstellungen\tme\workspace\Stack\build
        [javac] C:\Dokumente und Einstellungen\tme\workspace\Stack\build.xml:33: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
        [javac] Compiling 2 source files to C:\Dokumente und Einstellungen\tme\workspace\Stack\build
        [javac] Note: C:\Dokumente und Einstellungen\tme\workspace\Stack\src\foo\bar\TestMyStack.java uses unchecked or unsafe operations.
        [javac] Note: Recompile with -Xlint:unchecked for details.
    dist:
         [echo] Erstellen der Distribution ...
        [mkdir] Created dir: C:\Dokumente und Einstellungen\tme\workspace\Stack\dist\lib
          [jar] Building jar: C:\Dokumente und Einstellungen\tme\workspace\Stack\dist\lib\StackTest.jar
    JUNIT:
        [junit] Running TestMyStack.class
        [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
        [junit] Test TestMyStack.class FAILED
    BUILD SUCCESSFUL
    Total time: 3 seconds

    Und zu guter Letzt die Ausgabe in der Datei:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    Testsuite: TestMyStack.class
    Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
     
        Caused an ERROR
    TestMyStack.class
    java.lang.ClassNotFoundException: TestMyStack.class
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)

    Ich schätze es liegt am classpath.test, weiß aber nicht wie ich den anpassen muss. Das kann doch eigentlich nicht so schwer sein, oder?

    Danke im Voraus für die Antworten...

    :EDIT:
    Ich vergaß noch mitzuteilen, dass die Tests innerhalb von Eclipse als JUnit-Tests ohne Probleme laufen
    Geändert von McLeise (05.03.10 um 13:32 Uhr)
     

  2. #2
    McLeise McLeise ist offline Rookie
    Registriert seit
    Mar 2010
    Beiträge
    7
    Vielen Dank, hat sich erledigt...
    Mittlerweile habe ich es selbst hinbekommen.
     

  3. #3
    Verzweifler Tutorials.de Gastzugang
    Argh. Und wie ?
     

  4. #4
    McLeise McLeise ist offline Rookie
    Registriert seit
    Mar 2010
    Beiträge
    7
    Zitat Zitat von Verzweifler Beitrag anzeigen
    Argh. Und wie ?
    Bei mir funktionierte es folgendermaßen:
    --> "Run as"
    --> "External Tools Configuration"
    --> Auswahl der richtigen build-Datei (sofern mehrere vorhanden sind)
    --> Reiter "Classpath"
    --> "User-Entries" anklicken
    --> Button: "Add external Jars..."
    und dort dann die JUnit-Jars einfügen (junit-4.8.1.jar und junit-4.8.1-src.jar)
     

Ähnliche Themen

  1. Junit
    Von LookAndFeel im Forum Java Grundlagen
    Antworten: 0
    Letzter Beitrag: 28.11.08, 15:43
  2. Ant + JUnit 4
    Von hinti_sbg im Forum Java
    Antworten: 1
    Letzter Beitrag: 25.04.07, 13:31
  3. Ant-Task for 7z
    Von darksmilie im Forum Java
    Antworten: 8
    Letzter Beitrag: 29.12.06, 11:25
  4. Junit in Ant
    Von 4men im Forum Java
    Antworten: 4
    Letzter Beitrag: 19.12.06, 15:32
  5. ANT und JUnit
    Von eagle im Forum Coders Talk
    Antworten: 2
    Letzter Beitrag: 08.11.04, 21:04