2010-03-02 16 views
5

Ho molti test JUnit, che sono tutti creati dall'assistente di Netbeans (quindi niente personalizzato). Posso eseguire ogni test manualmente facendo "Test File" (Ctrl + F6).Netbeans: "Esegui -> Progetto di test" non fa nulla

Ma quando uso "Esegui -> Test Project", il messaggio "Nessun Prove eseguite" viene visualizzato.

Devo registrare ogni test JUnit da qualche parte?
O quale potrebbe essere il problema qui?

Prima che, a seguito viene visualizzata nella finestra di output:

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

  • Il tipo di progetto è "libreria di classi", vengono utilizzati non configurazioni personalizzate in build.xml.

  • forse è rilevante per parlare, che il progetto è vecchio (creato con una versione Netbeans prima di 6.7).

+0

Che tipo di progetto esattamente? (Desktop, Web, altro) –

+0

come hai chiamato i file di classe e dove hai messo i file? – Karussell

+0

Tutto è ** classico **: I test di JUnit si trovano nella cartella "test" (etichetta "Pacchetti di test"). I test di JUnit sono in pacchetto, che ha lo stesso nome di quello delle classi sotto test. –

risposta

8

Da quando ho presentato l'indizio corretta necessaria per generare una risposta, immagino che avrei dovuto aggiungere un po 'di valore ad essa ...

Se creare un progetto Java-> Libreria di classi con NetBeans, è possibile creare un test unitario associato a ciascuna classe nei pacchetti sorgente del progetto. Hai solo bisogno di fare clic destro sulla classe in Esplora progetti.

Se si sta creando la 'prima prova' per un progetto, l'IDE permette di scegliere tra 3 e JUnit JUnit 4.

Quando si crea un test per abcNewClass, NetBeans vi permetterà di assegnare un nome alla prova tutto quello che vuoi e mettere il test in qualsiasi pacchetto che vuoi ... il più delle volte, non vuoi cambiare i valori di default che appaiono nella finestra di dialogo (abcNewClassTest). Nelle build di NetBeans 6.9, verrà visualizzato un avviso se il nome del test che si sta per creare non ha "Test" come suffisso.

Se si crea nomi di classe di test che non terminano con "Test", è ancora possibile ottenere loro di eseguire quando si utilizza l'azione di prova su un progetto. Devi solo attivarli da una classe di test "normale".

6

Grazie per l'utente vkraemer!

La soluzione è: solo i test JUnit vengono eseguiti quando il loro nome termina con Test.

Sezione da build-impl.xml lo dimostra:

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

mie prove sono state lavorando poi si sono fermati, solo la visualizzazione:.

Nessun test eseguiti (0,0 s)

Il problema era uno spazio aggiuntivo nel VM Options: dopo il -D.Ciò ha causato problemi:

-D mysetting.home=something 

e questo ha risolto il tutto:

-Dmysetting.home=something 
1

Se si utilizza Maven, si potrebbe voler controllare il plugin infallibile su pom.xml

... 
<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> 


    ...