Domanda

Nel nostro progetto, abbiamo eseguito sia junits e cobertura utilizzo di maven.Il problema che sto affrontando è che,

  1. casi di test junit test sono in esecuzione due volte, una volta prima che il vaso processo di creazione e quindi, ancora una volta, per la generazione di cobertura copertura rapporti.Quando si esegue cobertura e junits con ant, corriamo junits una volta sola, perché, cobertura corre lungo con junits.C'è un modo per configurare il caso di cui sopra, con maven.So che possiamo utilizzare "maven.test.skip" di proprietà di saltare junits.Ma quando faccio questo, io non sono in grado di vedere junit xml html file di report.
  2. Inoltre, maven come configurare junits per l'esecuzione in batch o in parallelo ?

grazie!

È stato utile?

Soluzione

Mentre non riesco a trovare la pagina esatta in più, di recente ho letto una discussione di questo esegue il test due volte è considerato una buona idea.La chiave di problemi citati erano circa gli effetti della Cobertura byte di codice alterazione l'accuratezza del test.In certi casi i tempi di esecuzione di codice potrebbe essere importante, il byte di codice alterazione può causare prove che non riescono a JUnit per passare quando viene eseguito solo in Cobertura e viceversa.Per questo motivo, è stato raccomandato che i test da eseguire due volte.La maggior parte degli esempi citati erano intorno multi-threaded comportamenti, ma immagino che ci potrebbero essere altri casi erano byte di codice alterazione può causare problemi nei test.Avendo le prove di eseguire entrambi i modi, fornisce risultati di riferimento e riduce anche la possibilità di inviare un giro dell'oca, se Cobertura è infatti alterare il test di successo.

Altri suggerimenti

Prova ad aggiungere cobertura come riferimento ambito di compilazione. E inviare le parti pertinenti del vostro pom.

Questo accade perché l'esecuzione di report richiede l'esecuzione del test in modo che possa creare i report. Se ci fosse un "sito-only" obiettivo sul sito del plugin che non ha avuto l'annotazione @requiresDependencyResolution test, potrebbe essere legato alla fase di prepare-package del progetto e report verrebbe generato senza i test in esecuzione due volte.

Purtroppo sembra che ci sia attualmente tale obiettivo (vedere il mio domanda a questo proposito). Vedere la mia risposta alla domanda per i dettagli di una soluzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top