Ho una situazione in cui sto eseguendo principalmente test end-to-end sul mio framework:
- Inizio con semplici dispositivi (che sono file CSV).
- Questi sono importati dalla mia applicazione (che considero una scatola nera nella mia situazione).
- Una volta completata l'importazione, controllo con le classi di repository se restituiscono ciò che mi aspetto di essere restituito e, in alcuni casi, indirizzo le query al database per vedere se le cose sono come previsto.
Ora penso che la copertura del codice sia ottima, ma in questa situazione (PHP / PHPUnit / XDebug) rende l'esecuzione del mio codice più lento del 50-80% (perché XDebug è in mezzo per l'aspetto della copertura del codice).
Quindi cosa ha più senso in questo caso?
- Disattiva la copertura del codice e disponi di una suite di test più rapida che collauda effettivamente con scenari reali, ma senza sapere se tutto è coperto da codice?
- Hai un test più lento ma più informazioni su ciò che viene testato (e cosa no?)
Per mettere le cose in prospettiva: ora ho solo qualcosa come 6 test end-to-end che possono richiedere fino a 12 minuti quando la copertura del codice è attiva e circa 2-3 minuti senza copertura del codice.
Che cosa pensi di questo?