2010-03-02 2 views
5

Ich habe viele JUnit-Tests, die alle von Netbeans Assistent erstellt werden (so nichts angepasst). Ich kann jeden Test manuell mit "Test File" (Strg + F6) ausführen.Netbeans: "Ausführen -> Test-Projekt" tut nichts

Aber wenn ich "Ausführen -> Testprojekt" verwende, wird die Meldung "Keine Tests ausgeführt" angezeigt.

Muss ich jeden JUnit-Test irgendwo registrieren?
Oder was könnte das Problem hier sein?

Davor, folgende erscheint im Ausgabefenster:

init: 
Deleting: /MY-WORK/my.data.adv/build/built-jar.properties 
deps-jar: 
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties 
my.commons.init: 
my.commons.deps-jar: 
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties 
my.commons.compile: 
Copy libraries to /MY-WORK/my.commons/dist/lib. 
my.commons.jar: 
my.data.init: 
my.data.deps-jar: 
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties 
my.data.compile: 
Copy libraries to /MY-WORK/my.data/dist/lib. 
my.data.jar: 
compile: 
compile-test: 
test-report: 
test: 
BUILD SUCCESSFUL (total time: 0 seconds) 

EDIT

  • Der Projekttyp ist "Klassenbibliothek", keine benutzerdefinierten Konfigurationen in build.xml verwendet werden.

  • Vielleicht ist es wichtig zu erwähnen, dass das Projekt alt ist (erstellt mit einigen Netbeans Version vor 6.7).

+0

Welche Art von genau projizieren? (Desktop, Web, andere) –

+0

Wie haben Sie die Klassendateien benannt und wo haben Sie die Dateien abgelegt? – Karussell

+0

Alles ist ** klassisch **: JUnit-Tests sind im Paketordner "Test" (Label "Testpakete"). JUnit-Tests sind im Paket, das den gleichen Namen wie die getesteten Klassen hat. –

Antwort

8

Da ich den richtigen Hinweis vorgelegt notwendig, um eine Antwort zu erzeugen, ich meine, dass ich ein wenig Wert addieren sollte ...

Wenn Sie Erstellen Sie ein Java -> Klassenbibliotheksprojekt mit NetBeans. Sie können einen Komponententest erstellen, der mit jeder der Klassen in den Quellpaketen Ihres Projekts verknüpft ist. Sie müssen nur mit der rechten Maustaste auf die Klasse im Projektexplorer klicken.

Wenn Sie den ‚ersten Test‘ für ein Projekt erstellen, können die IDE Sie zwischen JUnit 3 und JUnit wählen 4.

Wenn Sie einen Test für abcNewClass erstellen, NetBeans ermöglicht es Ihnen, den Test zu nennen alles, was Sie wollen und setzen Sie den Test in ein beliebiges Paket, das Sie wollen ... die meiste Zeit möchten Sie nicht die Standardeinstellungen ändern, die im Dialog erscheinen (abcNewClassTest). In NetBeans 6.9-Builds wird eine Warnung angezeigt, wenn der Name des Tests, den Sie erstellen möchten, nicht über "Test" als Suffix verfügt.

Wenn Sie Testklassennamen erstellen, die nicht mit "Test" enden, können Sie sie trotzdem ausführen, wenn Sie die Testaktion für ein Projekt verwenden. Sie müssen sie nur aus einer "normalen" Testklasse auslösen.

6

Danke an den Benutzer vkraemer!

Die Lösung ist: Nur JUnit-Tests werden ausgeführt, wenn ihr Name mit Test endet.

Abschnitt von build-impl.xml beweist:

<target depends="init,compile-test,-pre-test-run" 
    if="have.tests" name="-do-test-run"> 
    <j2seproject3:junit testincludes="**/*Test.java"/> 
</target> 
0

arbeiteten Meine Tests dann blieben sie stehen, nur die Anzeige.

Keine geführten Tests (0,0 s)

Das Problem war ein zusätzlicher Raum im VM Options: nach dem -D.Dies verursacht Probleme:

-D mysetting.home=something 

und das es fest:

-Dmysetting.home=something 
1

Wenn Sie Maven verwenden, möchten Sie vielleicht Ihre todsichere Plugin auf pom.xml überprüfen

... 
<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.11</version> 
      <configuration> 
       <includes> 
        <include>**/*Test.java</include>       
       </includes> 
       <systemPropertyVariables> 
        <java.util.logging.config.file>src/test/resources/logging.properties</java.util.logging.config.file> 
       </systemPropertyVariables> 
      </configuration> 
     </plugin> 


    ...