2012-12-26 13 views
5

Ho una classe JUnit e questa classe contiene due metodi di test. Sto provando a eseguire questa classe di test tramite il menu Eclipse IDEEsegui come -> Junit Test.JUnit: esecuzione tramite eclipse e test di prova. Grande differenza nella velocità, perché?

Velocità di esecuzione:

1 volta. 30 sec.

2 volta: 29 sec.

3 volta: 23 sec.

Dopo questo, sto cercando di eseguire la classe di test tramite maven run nel terminale. In questo caso velocità di esecuzione:

1 volta: 1 min. 10 sec.

2 volta: 59 sec.

3 volta: 56 sec.

Quindi, come potete vedere, wee ha davvero una grande differenza tra questi due casi. Ma come possiamo spiegare questa grande differenza?

P.S. Sto usando l'ultima versione di Eclipse IDE e Maven.

+0

Rieseguire di nuovo il tecnico e informarci sull'output. Potrebbe essere la prima volta che alcuni jar sono stati scaricati e in quel momento viene preso in considerazione. – mtk

+0

@mtk, sto sperimentando questo durante tutto il giorno, penso, che tutto il barattolo sia stato scaricato. – user471011

+0

come sei sicuro che gli argomenti siano gli stessi? è forse il runner di prova di eclissi configurato con più memoria? – radai

risposta

0

Maven ha un ciclo di vita di generazione, che prevede le seguenti fasi:

  1. validate
  2. compilare
  3. prova
  4. pacchetto
  5. integrazione-test
  6. verificare
  7. installazione
  8. deploy

Eclipse compila solo ed esegue il test.
Penso che questo potrebbe essere il motivo.

+0

Ho anche provato a eseguire test tramite il comando "mvn surefire: test". Il risultato è lo stesso. – user471011

+0

Esecuzione mvn infallibile: prova esegue le seguenti fasi: - processo-risorse - Compila il \t - processo-test-risorse - test-compilare - prova; Questo è il motivo per cui è più lento rispetto alla semplice esecuzione in eclissi. Dovresti controllare questo URL per maggiori dettagli: [Ciclo di vita di build di Maven] (http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html) – Andrew

+0

e non c'è modo di saltare tutti fasi precedenti e basta eseguire una fase? – user471011

Problemi correlati