2010-05-24 2 views
5

Ho un file di build ant che contiene la suite di test JUnit che vorrei eseguire. Attualmente faccio semplicemente clic destro ed eseguo il file di build da Eclipse.Come eseguire form usando java e catturato l'output?

Voglio scrivere un codice java che può eseguire automaticamente il file di formica. Quindi ho appena eseguito il codice e verrà eseguito il form.

Secondo è necessario acquisire il risultato del test. Attualmente il risultato è basato sul report HTML JUnit. Voglio fare il mio semplice rapporto di prova. Ho letto che c'è JUnitResultFormatter ma non riesco a trovare l'istruzione passo dopo passo come usarlo, . Qualcuno può indicarmi il riferimento?

risposta

3

Il modo più semplice per farlo è utilizzare la classe JunitCore da java. Non è consigliabile chiamare direttamente il numero main, vedere Junit Faq e http://www.answerspice.com/c119/1497833/how-do-i-run-junit-tests-from-inside-my-java-application.

È molto comune definire un main come questo per ogni test case, per poter eseguire i test singolarmente dalla riga di comando. Di solito cambio anche le impostazioni di registrazione in questi metodi, per ottenere più informazioni quando eseguo un singolo test manualmente che non all'interno della formica.


per poi creare un rapporto personalizzato, sarà necessario implementare un RunListener che crea il report, e registrarlo, come descritto nel Javadoc:

public void main(String... args) { 
    JUnitCore core= new JUnitCore(); 
    core.addListener(new RingingListener()); 
    core.run(MyTestClass.class); 
} 

vostro ascoltatore sarà poi chiamato prima e dopo ogni esecuzione di test, e ha passato informazioni descrittive sul test che sta per essere eseguito e su come è andato il test una volta terminato.

+0

grazie per il dettaglio :) È in questo modo, elimina la necessità di file di build ant perché chiama in modo specifico la classe di test? – Iso

+0

Sì, con questo, sarete in grado di chiamare i test senza 'formica'. Puoi anche mescolare entrambi e usare ancora le formiche per automatizzare l'esecuzione di tutti i tuoi test, ad esempio in continua integrazione. – tonio

+0

scusa per chiedere di nuovo, ma come faccio a specificare il percorso della classe di test se non è nella stessa cartella? sono questi mia struttura di cartelle: SampleTest -> costruire -> prova ---> classi ----> test.diagram1_Suite1.class (questo il file di classe) -> Test - > RunTest.class (questo è l'esecutore) grazie ancora – Iso