Il mio progetto corrente ha una politica di copertura del 100% del codice dai suoi test unitari. Il nostro servizio di integrazione continua non consentirà agli sviluppatori di inviare codice senza copertura al 100%.Test unità distribuito e copertura del codice in Python
Poiché il progetto è cresciuto, così ha il tempo di eseguire l'intera suite di test. Mentre gli sviluppatori tipicamente eseguono un sottoinsieme di test relativi al codice che stanno cambiando, di solito eseguiranno un ciclo completo prima di inviarli a CI, e anche il server CI stesso eseguirà l'intera suite di test.
I test unitari per loro natura sono altamente parallelizzabili, poiché sono autonomi e stateless dal test al test. Restituiscono solo due informazioni: pass/fail e le righe di codice coperte. Una mappa/soluzione di riduzione sembra che funzionerebbe molto bene.
Esistono framework di test Python che eseguiranno test su un cluster di macchine con copertura del codice e combineranno i risultati al termine?
Hai trovato qualcosa che fa quello che volevi? –
@ stair314 Purtroppo no. Abbiamo acquistato un po 'più di tempo ottimizzando i nostri test unitari e tagliando fuori una grande quantità di lavoro non necessario. Abbiamo anche aggiunto delle macchine al nostro cluster CI in modo che possiamo costruire (e testare) in parallelo, ma eseguiamo comunque tutti i test ogni volta. Speriamo che ad un certo punto saremo in grado di concentrare alcuni sforzi di sviluppo su questo problema. –