Sto cercando di implementare un modo pieno e pulito di pacchetti python di test, uno che soddisfi i requisiti folowing:Risolvere la confusione generata da troppi modi per eseguire unittest in python
- eseguire test su macchine pulite senza di loro creazione (virtualenv)
- si riuniscono i risultati di più piattaforme
- si riuniscono i risultati di multipli interpreti pitone
- co de copertura (unire i risultati dell'esecuzione multipla in un singolo report)
- essere in grado di generare un report di copertura del codice xml in modo che il sistema di compilazione possa tenere traccia di come questo cambiamento nel tempo.
- poter consentire test disattivare basato su piattaforma
- eseguire diversi comandi prima delle prove, come PEP8 o autopep8
- test eseguiti in parallelo.
ho usato diversi approcci: nose + pytest
, tox + pytest
ma recentemente scoperto che pytest
dovrebbe essere in grado di fare la maggior parte delle cose.
Il problema principale è che non sono stato in grado di trovare un confronto chiaro su quando sarebbe meglio utilizzare un approccio o un altro.
Qualcuno può spiegarle e fornire alcuni casi d'uso o limitazioni di queste configurazioni? ... solo per chiarire quando si va per un approccio o un altro.
Alla fine ho voglio avere queste opzioni:
quicktest
- eseguire i test a livello locale, un must prima di ogni commmitfulltest
- test completi, li esegue su tutte le piattaforme disponibili, un must prima di fare una nuova release
Se pytest soddisfa tutte le tue esigenze, perché dovresti prendere in considerazione l'utilizzo di una configurazione diversa? Sicuramente sarebbe più semplice. – pfctdayelise