Ho questo metodo che dipende dalla data corrente. Controlla se oggi è Sun, Mon, Tue o Wed, quindi fornisce 5 giorni di anticipo per l'arrivo degli articoli spediti. Se è Thur, Fri o Sat, allora fornisce 6 giorni di tempo di consegna per tenere conto del fine settimana.Come testare la logica che dipende dalla data corrente
private DateTime GetEstimatedArrivalDate()
{
DateTime estimatedDate;
if (DateTime.Now.DayOfWeek >= DayOfWeek.Thursday)
{
estimatedDate = DateTime.Now.Date.AddDays(6);
}
else
{
estimatedDate = DateTime.Now.Date.AddDays(5);
}
return estimatedDate;
}
La logica di stima effettiva è più complessa. L'ho semplificato per lo scopo di questa domanda. La mia domanda è: come scrivo un unit test per qualcosa di simile che dipende dalla data odierna?
La risposta è (quasi) nella questione "come faccio a scrivere un test unitario per qualcosa del genere che dipende dalla data odierna?" Rifatta il metodo per utilizzare l'iniezione delle dipendenze come nella risposta di Mark. –