2013-07-30 14 views
7

È possibile interrompere un build di TeamCity (l'intera build, cioè non eseguirà i passaggi successivi) quando un test dell'unità fallisce? Idealmente mi piacerebbe anche che terminasse il passaggio attualmente in esecuzione che nel mio caso sarebbe il Runner di Nunit Test. Nella mia circostanza non ha senso continuare la costruzione se un singolo test non riesce. Ho esaminato le condizioni di fallimento ma non penso che siano applicabili in quanto la build continua a funzionare.TeamCity - Arresta il build quando un test fallisce

Caratteristica richiesto: http://youtrack.jetbrains.com/issue/YTF-3275

+0

Non esattamente quello che vuoi, ma vicino: http://stackoverflow.com/questions/15254581/teamcity-running-build-steps-even-when-tests-fail – adrianbanks

+1

È vicino ma non c'è sigaro, anche se hai appena mi ha ricordato che devo stare attento a questo. C'è una soluzione, controlla l'ultimo commento di questo http://youtrack.jetbrains.com/issue/TW-17002. Questo non è ciò che voglio comunque, voglio che il passaggio smetta di essere eseguito quando un test fallisce. –

risposta

3

è possibile farlo utilizzando NUnit-console.exe. di conseguenza alla documentazione ufficiale (http://nunit.org/index.php?p=consoleCommandLine&r=2.6.2) fornisce un interruttore/stoponerror che fa esattamente ciò di cui hai bisogno.

può anche generare un output XML che può essere analizzato da teamcity (esiste una funzione di compilazione per tale) per popolare la scheda "test".

+0

Questo sembra l'unico modo per farlo, è hacker e non mi piace, quindi ho contattato TeamCity per vedere se posso inviare una richiesta di funzionalità. –

+0

E 'ancora il caso in 8.0.5? Sembra che dovrebbe essere risolto ora. XUnit o MSTest sono meglio supportati? –

6

Come è stato notato, TeamCity non può eseguire ulteriori passaggi di build sui test falliti nei test NUnit con condizione di esecuzione del passo "Solo se lo stato di creazione ha esito positivo". Tuttavia, ciò non fa fermare i test fino al completamento del passo.

Una richiesta di funzione correlata è TW-23766.

L'unica soluzione che posso prendere in considerazione attualmente non è l'utilizzo di NUnit test runner e l'implementazione della logica all'interno dello script di build. Ad esempio, con nunit-console.exe come ha notato Manuel. Se si sceglie di seguire questa rotta, prendere in considerazione l'utilizzo di TeamCity Addin for NUNit.

+0

questa è la soluzione corretta, grazie signore! – Gent

Problemi correlati