Come creare facilmente unit test in eclipse [chiuso]


94

Voglio creare unit test facilmente selezionando semplicemente il metodo. C'è uno strumento in Eclipse che lo fa. Dovrebbe supportare i modelli. Dovrei essere in grado di creare test positivi e test negativi.


1
Penso che questo plugin di eclissi sia quello che vuoi: MoreUnit
Guillaume Husta,

Ciao a tutti, qualcosa di più moderno?
GC_

Risposte:


26

Puoi usare il mio plug-in per creare facilmente test:

  1. evidenziare il metodo
  2. premere Ctrl+ Alt+ Shift+U
  3. creerà lo unit test per esso.

Il plug-in è disponibile qui . Spero che questo ti aiuti.


1
Sembra un ottimo plugin! Sono solo curioso se potresti conoscere qualcosa di simile per C / C ++ in Eclipse?
MikeyE

2
questo plugin semplicemente non funziona per me, dicendo: "Questo in realtà è un test JUnit" nella mia classe :) Volevo qualcosa di semplice e funzionante.
kiedysktos

Ciao @fastcodejava puoi aiutarci a ricevere i seguenti errori: durante l'utilizzo del sito di aggiornamento: Impossibile leggere il repository su sourceforge.net/projects/fast-code/files/update/content.xml . durante l'utilizzo di jar: nessun profilo di prova disponibile vai alla preferenza junit per impostare il profilo
Haseeb Anser

Qualcosa è l'eclissi standard?
GC_

178

Per creare un modello di scenario di test:

"Nuovo" -> "Caso di test JUnit" -> Seleziona "Classe in prova" -> Seleziona " Metodi disponibili ". Penso che il mago sia abbastanza facile per te.


4
Penso che OP volesse selezionare il metodo e creare lo unit test. Ho scritto un plug-in per questo.
fastcodejava

1
Questo era esattamente quello che stavo cercando, la funzione Netbeans fa esattamente lo stesso, e quando si usa Maven è bene che crei il testcase nella cartella corretta
Theresa Forster

4
@TheresaForster Quale ti piace? Questa risposta o quella data da fastcodejava?
javaguy

2
Nota che "metodi disponibili" si trova nella pagina successiva della procedura guidata (almeno in Eclipse 4)
bcoughlan

2
I tasti di scelta rapida per questo sono ALT + MAIUSC + N -> seleziona JUnit Test Case (o premi J 3 volte)
Matt R

7

Dai un'occhiata a questa discussione [Come generare automaticamente i junit?]

Se stai iniziando di nuovo ed è un'applicazione java, anche Spring ROO sembra molto interessante!

Spero che aiuti.


-3

Qualsiasi unit test che potresti creare premendo semplicemente un pulsante non varrebbe nulla. Come fa lo strumento a sapere quali parametri trasmettere il tuo metodo e cosa aspettarti? A meno che io non stia fraintendendo le tue aspettative.

Vicino a questo c'è qualcosa come FitNesse , dove puoi impostare i test, quindi separatamente impostare una pagina wiki con i tuoi dati di test, ed esegue i test con quei dati, pubblicando i risultati come rosso / verde.

Se fossi felice di rendere la scrittura di prova molto più veloce, suggerirei Mockito , un framework beffardo che ti consente di deridere molto facilmente le classi attorno a quella che stai testando, quindi c'è meno configurazione / smontaggio e sai che sei davvero testare quella classe invece di una dipendente da essa.


29
Nessuno strumento può scrivere lo unit test che si intende creare, ma l'OP ha voluto trovare lo strumento che evidenzierà il metodo e ha creato lo stub test. Devi quindi riempire il corpo del metodo di prova. lo strumento predefinito fornito con eclipse fa un buon lavoro, ma non è possibile evidenziare un metodo e creare il test. Inoltre nel test è già presente lo strumento predefinito non funzionerà.
fastcodejava

6
In primo luogo, anche i test generati automaticamente possono essere utili. A volte ti dimentichi semplicemente di controllare qualcosa di ovvio, ad esempio il controllo del puntatore nullo. In secondo luogo, penso che la domanda riguardi come pregenerare i test, che implementerai tu stesso. Qualcosa come se devi controllare, se il tuo metodo genera un'eccezione di conseguenza, lo strumento potrebbe generare automaticamente un metodo di test vuoto con un'annotazione @Test (previsto = ...).
Radium
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.