2014-09-09 13 views
9

Ho molti test in selenio che sono durati quasi 6 ore. Dopo l'esecuzione, alcuni di essi sono falliti a causa di un errore di timeout o di errori inevitabili. In questo caso voglio eseguire solo test non riusciti. Sto usando teamcity per eseguire i test di Nunit. Qualche idea su come rieseguire solo i test falliti.Come eseguire solo test nunit falliti in build teamcity

risposta

1

C'è un'opzione per eseguire i test falliti prima come parte di integrazione NUnit di TeamCity - ma non si può limitare a test solo in mancanza, nulla di tutto questo è costruito in

avete un paio opzioni qui, a mio parere:.

  • Utilizzare un Selenium grid/altra infrastruttura per eseguire i test Selenium in parallelo per ridurre il tempo di esecuzione del test. Questa sembra essere la radice del tuo problema: attualmente il tempo di eseguire un test completo è proibitivo. Se riesci a eseguire velocemente i test del selenio, non dovrai eseguirli in modo selettivo. Generalmente l'uso del runner nUnit incorporato è una cattiva scelta a lungo termine perché non consente il parallelismo.
  • Sulla base degli errori che si stanno verificando determinano i dispositivi di prova nUnit e si esegue un'esecuzione personalizzata di nUnit in cui si esegue il passaggio di questi dispositivi di prova - di nuovo non vi è integrazione per questo e si dovrà usare la riga di comando nUnit runner .
+0

nUnit runner 3 ora supporta l'esecuzione in parallelo – John

0

Esistono alcune opzioni a seconda del framework di test che si sta utilizzando in modo da poter eseguire test di lancio di teamcity su criteri più flessibili utilizzando le opzioni della riga di comando. Abbiamo usato questa soluzione alternativa nel nostro ambiente di test instabile.

Con NUnit è possibile utilizzare il file di output filtrato (in base al test non riuscito) come la lista di test fornita per la prossima esecuzione. Ci sono vari modi per recuperare e impostare la lista e potete trovare i dettagli qui: https://github.com/nunit/docs/wiki/Console-Command-Line

Ci sono due opzioni rapide:

  • si salva/aggiungere l'elenco con i test falliti in un file (con l'utilizzo dello script powershell)
  • leggere l'ultimo file di test-risultato e utilizzare il dove clausola per ottenere i test falliti

con ogni eseguire la lista con i test dovrebbero ridursi.

essere consapevoli:

  • costruisce non sono facili paragonabili (TeamCity stima il tempo di esecuzione o se si dispone di condizioni di guasto in base alle modifiche metriche)
  • (nuove) gli errori in altri test rimarrà inosservato fino a quando non si ricominciano tutti i test
Problemi correlati