Le mie esperienze coinvolgono CruiseControl.NET e Team Foundation Build. Sono uno sviluppatore .NET anch'io. Questi provengono dalle mie esperienze e includono solo le esperienze in cui sono stati testati come parte del processo di creazione, quindi se non corrispondono al tuo ambiente, mi dispiace.
I'm also wondering if it's necessary to have a specific engine to run the tests, or is it enough to have them integrated into our continuous integration engine
Se stai facendo una build ad ogni check-in, è possibile avere build innescate prima che la build precedente abbia finito di girare. Come vuoi gestire situazioni come questa? Ad esempio, se occorrono 30 minuti per eseguire l'intera suite di test e il codice viene controllato ogni 15 minuti, vuoi saltare alcune build? Salta alcuni test? Impilarli, costruirli in ordine e tornare da Bob che ha rotto la build con il suo check-in 5 ore fa?
Team Foundation Build può utilizzare più core per build e test con il 2010 (le versioni precedenti potevano usare solo core multipli per build C ++). CruiseControl.NET può eseguire thread separati, ma leggendo la documentazione , sembra che ogni progetto possa essere sul proprio thread , ma che non puoi avere più thread per progetto (potrei sbagliarmi). Non abbiamo mai avuto una macchina multi-core per le build negli ambienti in cui ho lavorato, quindi non posso parlare di quanto siano buone / giuste / cattive (o che io sia sbagliato).
In un precedente datore di lavoro, abbiamo incluso gli script Python nella build, ma non avevamo alcuna configurazione di testing per testare Python. NANT è stato utilizzato per i componenti .NET.
I'm also wondering if it's necessary to have a specific engine to run the tests
Non ho mai avuto il tempo di farlo, ma in un precedente datore di lavoro (abbiamo venduto il software "shrinkwrap"), avevamo molti bug che erano specifici del sistema operativo (e talvolta specifici del service pack), quindi uno dei miei obiettivi era quello di impostare più macchine di prova con diversi sistemi operativi (sia 32 + 64 bit e tutti i vari tipi di desktop e server Windows da XP in poi). Le macchine di compilazione erano macchine WinXP semplici o vecchie (o virtuali) perché quello era tutto l '"hardware" che ci era stato concesso dai gestori. Invece, tutti i test sono stati eseguiti sulla macchina di compilazione. Abbiamo anche impostato suite di convalida come raccolte di test unitari, sebbene non fossero eseguiti per aggiornamenti minori.