Ci sono alcuni well - noto tecniche per affrontare la nozione di tempo nei test unitari. Questi ti permettono di scrivere le unittest che funzionano sempre con un tempo specifico in modo che il risultato del test sia prevedibile e possa essere verificato. Tuttavia, queste tecniche non funzionano con test di integrazione / test dell'interfaccia utente poiché il test e l'applicazione stessa sono separati (in particolare nelle applicazioni Web in cui l'applicazione in prova potrebbe essere distribuita su un server separato).
Ad esempio, supponiamo stiamo sviluppando un sistema di appuntamenti che deve implementare un pulsante "suggerisci il primo appuntamento disponibile". Se si fa clic sul pulsante, è necessario suggerire la prima finestra temporale disponibile per il giorno lavorativo successivo. Ciò significa che se il pulsante viene cliccato in un dato giorno della settimana, eccetto venerdì, dovrebbe suggerire uno slot il giorno successivo, MA venerdì e sabato dovrebbe suggerire uno slot lunedì.
Come si fa a testare questo requisito?
(So che è possibile aggirare il problema per questo specifico esempio ma tenerlo con me - ci sono sempre situazioni in cui il test non può fornire i dati su cui lavorare. Non volevo fornire un esagerato esempio complicato.)