2011-09-01 11 views
5

Si tratta di un follow-up a questo question che mi sono reso conto quando ho scavato più in profondità nella mia ricerca:Maven Surefire esegue i casi di test in modo sequenziale per impostazione predefinita?

E 'ragionevole supporre che il plugin Surefire Maven esegue i test in sequenza in modo predefinito: un banco di prova si conclude befores quello successivo inizia (non sono interessato all'ordine). Ho scoperto che è possibile configurare Surefire per l'esecuzione in parallelo, vuol dire che l'esecuzione sequenziale è il comportamento predefinito e probabilmente lo sarà in futuro?

NB: Nel caso in cui si stava chiedendo perché dovrei voler forzare le prove per l'esecuzione in sequenza (lo so, buoni test dovrebbero essere in grado di eseguire in parallelo), è perché sto risolvendo una soluzione per un problema specifico che riguarda la copertura di un'applicazione web. Puoi leggere su di esso here.

Grazie

+1

Sì, i test vengono eseguiti automaticamente uno per uno. Perché non lo provi solo? –

+0

L'ho provato, ma voglio assicurarmi che funzionerà sempre in qualsiasi ambiente (multicore o meno) –

risposta

2

La risposta alla tua domanda comporta speculando sul futuro, che di solito è una cosa difficile. Detto questo, direi che sì, sarà il comportamento predefinito, perché l'esecuzione parallela di test ha senso solo per test perfettamente isolati, con tutte le dipendenze esterne prese in giro o altrimenti prese in considerazione. A volte è difficile da raggiungere, soprattutto quando si creano test per codice vecchio. In questi casi la decisione deve essere lasciata al programmatore, che ha solo l'idea se abbia senso utilizzare il parallelismo.

+0

poichè è possibile specificare quale versione del plugin surefire si sceglie di utilizzare, la speculazione del futuro non deve essere una grande preoccupazione :) –