2013-10-17 15 views
5

Ho appena acquistato una copia di Intellij e ho bisogno di generare uno stub di test di unità e di mettere junit sul classpath e impostare il test da eseguire con il junit runner. È banale farlo in Eclipse.Come eseguire TDD in stile Eclipse con Intellij

Ogni istruzione che ho letto sembra così ...

  1. Creare una classe per testare
  2. metodo Add
  3. creare una directory principale fonte di prova
  4. Creare una classe di test
  5. prova Run

Ma io non voglio creare alcuna classe, o qualsiasi Met hod fino a quando non avrò un test che non verrà compilato.

Desidero impaginare prima gli stub di Classe e metodo in un test. Una volta che sono soddisfatto dell'API che ho espresso nel test, voglio generare automaticamente le dichiarazioni di Class e Method e quindi iniziare con le asserzioni.

Come fare in Intellij?

+1

Questo non ha davvero a che fare con IntelliJ; è un problema TDD in generale. Il solito approccio è quello di scrivere alcuni stub con corpi come 'throw new UnsupportedOperationException(); // TODO', quindi scrivere test contro quelli, e quindi lavorare fino a quando quei test passano. Ma hai già parlato di stubbing; quindi, con quale specifico problema hai? – yshavit

+0

Penso che sia un problema con Intellij che non supporta un flusso di lavoro che è considerato una buona pratica da molti sviluppatori. – jeremyjjbrown

risposta

2

È possibile creare un modello di file per aggiungere un test di unità stub e mantenere un flusso di lavoro TTD simile a Eclipse.

  1. Rt fare clic sulla radice del progetto nel riquadro Progetto. Seleziona Nuovo> Modifica modelli di file ...
  2. Copia il modello di classe Java e sovrascrive il nome in JUnit e codice in ...

    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end 
    import org.junit.Test; 
    #parse("File Header.java") 
    public class ${NAME} { 
        @Test 
        public void test() { 
        } 
    } 
    

Ora quando si fa clic su un pacchetto è possibile aggiungere un nuovo stub JUnit selezionando Nuovo> Java Class> Tipo = JUnit

+0

non sono sicuro del motivo per cui la sezione del codice sta formattando nel modo in cui è dispiaciuta. – jeremyjjbrown

2

Creare una cartella di prova e aggiungere una nuova classe di test, per esempio WhateverTest.java

Aggiungi un nuovo metodo che ha un @Test annotazione.

@Test 
public static void whatever() { 
} 

Dopo aver importato tutte le dipendenze JUnit richiesti (e quelli che si desidera), si può semplicemente dire IntelliJ per eseguire i test nella classe. Non penso che tu debba fare alcuna configurazione speciale oltre a questo.

1

IntelliJ IDEA non supporta l'auto-generazione di classi principali da classi di test. Genera automaticamente classi e metodi di test da una classe principale. Così si potrebbe fare come @yshavit raccomanda nel suo commento e creare uno scheletro classe principale e quindi automaticamente generare la classe di test tramite Ctrl +Maiusc +T. O mentre scrivi il tuo test, mantieni un'interfaccia sincronizzata con esso. Quindi è possibile generare automaticamente un'implementazione dall'interfaccia.

In caso contrario, come la vedo io, avete tre opzioni:

  1. Aprire un feature request per le classi di produzione di auto-generazione da classi di test
  2. Scrivi la tua plug-in per fare questo
  3. Chiedi l'autore di un plug-in esistente, come il plug-in TDD concentrato Enso, per aggiungere questa funzionalità.
+0

In realtà ho provato a duplicare il modello di file della classe Java e ho aggiunto un metodo stub per renderlo una junit. Tuttavia non appare nella finestra di dialogo Nuovo e i documenti Intellij non offrono alcuna soluzione che possa trovare per renderlo disponibile. – jeremyjjbrown

+1

Vedere il mio [postare qui] (http://devnet.jetbrains.com/message/5499184#5499184) per informazioni sull'utilizzo di un nuovo modello di file. È qualcosa che deve essere un po 'meglio documentato :) – Javaru

+0

Purtroppo selezionare "From File Templates" non è disponibile per me quando faccio clic con il tasto destro del mouse sul mio project/src-folder/package e scegli New in Intellij 12.1.4. – jeremyjjbrown