Sono "relativamente nuovo" ai test unitari e TDD. Solo più recentemente ho completato la mia prima applicazione di produzione che ha (almeno in teoria) una copertura del 100% del codice. Ho anche fatto test unitari in progetti precedenti per un po 'di tempo, ma non nel vero stile TDD e con una buona copertura del codice. Era sempre stato un ripensamento. Sento di averne una buona conoscenza adesso.Infrastruttura richiesta per TDD?
Sto anche cercando di addestrare il resto del team su TDD e test delle unità in modo da poter crescere e iniziare a fare test di unità in tutte le nostre applicazioni, e infine progredire nel fare TDD completo w/integrazione automatizzata & continua. Ho pubblicato a thread here sul mio piano di attacco/programma di formazione per i commenti & critici.
Una delle risposte (in effetti la più votata) mi ha suggerito di configurare prima l'infrastruttura prima di procedere con la formazione. Sfortunatamente non ho alcuna esposizione a questo, e cercare su argomenti è difficile perché le pagine per CruiseControl.NET/nAnt/etc non spiegano in realtà il 'perché' dovremmo impostare questo e il 'come' tutto si collega a togeather.
Siamo un piccolo negozio (circa 10 sviluppatori) e usiamo quasi esclusivamente tecnologie Microsoft e facciamo il nostro sviluppo in VB.NET. Stiamo cercando di iniziare a usare C#, ma è per un'altra volta. Sto usando il progetto MSTest che viene fornito con VS2008 per i miei test unitari e ho creato le mie app utilizzando Visual Studio e distribuito utilizzando i progetti di installazione MSI ... Inoltre (sfortunatamente) utilizziamo VSS per il nostro controllo soure - ma questo è anche sul ceppo e mi piacerebbe davvero liberarmene e usare la sovversione.
So che ho bisogno di utilizzare CruiseControl.NET per CI e NAnt o MSBuild per la creazione delle applicazioni. E probabilmente ho bisogno di un server di build per eseguire tutte queste build. Ma non riesco a trovare nulla che 'connetta' i punti e spiega come interagiscono tra loro, cosa dovrebbe essere sul tuo build server, quando dovresti costruire con il tuo build server (è solo per build di implementazione, o anche quando tu vuoi semplicemente compilare l'app che stai sviluppando dopo aver apportato una piccola modifica, nel tuo ambiente locale?). Sto anche pianificando di assestare MSTest perché ho trovato che è bug e userà invece nUnit.
Qualcuno può forse illuminare questa lacuna che ho dal 'sapere come fare TDD' per 'impostare l'infrastruttura adeguata in modo che tutto il team possa farlo e lavorare in tod'? Capisco cosa sia l'integrazione continua, ma ancora una volta, non sono sicuro di come un server di build debba essere configurato e in che modo si connetta a tutto, e perché ne abbiamo bisogno di uno (ad esempio il pitch to management).
grazie mille per il vostro tempo.
Quale parte del finalbuilder ho bisogno? Sembra che ci sia una certa sovrapposizione con il builder finale e teamcity. Il server di Finalbuilder sembra essere un server CI, quindi suppongo di non averne bisogno. FinalBuilder sembra essere un server di build - ma pensavo che TeamCity fosse anche un server di build ... E Automise sembra essere uno strumento di automazione visiva di Windows, come una sorta di piattaforma di sviluppo per le app Winforms ...
_I anche non si vede il supporto per costruttore finale in The Team City Supported Apps Diagram: _
Penso che il seguente collegamento contenga una serie esauriente di informazioni su questo argomento: http://martinfowler.com/articles/continuousIntegration.html – Tomas