2012-10-19 8 views
11

Utilizzo di Visual Studio e TFS & preferibilmente test Specflow o standard.Esegui test unità prima del check-in

Voglio che gli sviluppatori eseguano TUTTO il test di unità come criterio prima del check-in. Se un test di unità si interrompe, allora vS dovrebbe impedirgli di effettuare il check-in, proprio come quando si attraversa un conflitto di fusione.

So che ci sono script di post build che lo faranno, ma in realtà se il test dell'unità si rompe, preferisco che non entri nel controllo del codice sorgente. Inoltre il giro è piuttosto lento per aspettare la piena costruzione. E poi c'è il litigio su chi si rompe di chi roba.

Quindi no, voglio che il test dell'unità passi in locale prima del check-in. Come potrei farlo? Sì, possono semplicemente premere il pulsante, ma mi piace ottenerli un po 'più "incentive" di quello.

+0

Davvero non so cosa stai chiedendo qui. – Oded

+4

Quindi no, voglio che il test dell'unità passi in locale prima del check-in. Come potrei farlo? <- Quale parte di questo non hai ottenuto? – Alwyn

+0

Non ho ricevuto l'obiezione "possono semplicemente premere il pulsante". – Oded

risposta

4

Il TeamCity Visual Studio plugin supports pre-tested commits. Non posso parlare per TFS, comunque.

+0

Sì, questo è il flusso di cui sto parlando, vedrò se si adatta. – Alwyn

+0

Questa è la risposta ma non funzionerà :(Abbiamo investito troppo in TFS – Alwyn

+3

È possibile utilizzare TeamCity per l'integrazione continua e considerare TFS come un sistema di controllo versione, quindi non dovrebbe sostituire TFS, ma solo integrarlo. – jrummell

5

Sembra che quello che stai cercando sia un check-in TFS Gated . Questo può garantire che il codice venga creato, unito e che i test vengano eseguiti correttamente prima di eseguire il check-in. Si può leggere di più su di esso qui:

An introduction to gated check-in

Vale la pena notare che si tratta di un processo molto più lento rispetto CI costruisce, quindi a seconda di quanti check-negli sviluppatori stanno facendo si può essere meglio esaminando una build CI con "Crea elemento di lavoro in caso di errore" attivato e un avviso di progetto impostato per notificare allo sviluppatore che hanno rotto la build.