venerdì 23 gennaio 2015

Il principio di VERITA - Parte II

Nel post precedente di questa serie ho trattato la necessità di fare test veloci, per evitare che si smetta di eseguirli perchè il tempo complessivo di esecuzione della test suite è eccessivo.
Adesso vediamo il secondo punto.

Eseguibilità

I test devono essere eseguibili, cioè non vi devono essere condizioni a latere che possano in qualche modo impedire l'esecuzione dei test. Il che significa che:
  • i test non devono dipendere in alcun modo dal sistema operativo in cui la test suite gira
  • i test non devono essere dipendenti da una configurazione, a meno che la stessa non sia impostata all'interno della test suite stessa
  • se i test coinvolgono una dipendenza esterna, questa deve essere impostata dalla suite di test e non deve essere data per scontata. Il caso classico riguarda i test che implicano l'accesso a un database. In questo caso 
    • il database deve essere in memory, oppure in modalità embedded e avviato dalla test suite stessa;
    • i dati all'interno del database devono essere caricati nella fase di setup della test suit
In conclusione, quando progettate i test chiedetevi sempre se chi li eseguirà dovrà fare delle operazioni preliminari di setup prima di poterli eseguire. Se sì, c'è qualcosa che non va. Analizzate le dipendenze mal impostate e correggete l'errore.

Nessun commento: