Witam! Z tego co mi wiadomo, testy jednostkowe powinny być szybkie (liczone co najwyżej w milisekundach) i przez te stwierdzenie zastanawiam się jak to się ma do metod, które używają Thread.Sleep. Załóżmy, że mamy na przykład taki przypadek:
void Metoda()
{
Console.WriteLine("Pomyśl liczbę od 1 do 10 i zobaczymy czy zgadłeś")
Thread.Sleep(5000);
Console.WriteLine(random.Next(1, 11));
}
W tym przypadku wywołanie Thread.Sleep uznajmy za konieczne.
Moje pytanie brzmi: Czy testować taką metodę co ma Thread.Sleep? Czy może podczas testu użyć mocków i pominąć działanie Sleep, bądź sprawdzić z jakim parametrem został wywołany? Albo może przetestować to wszystko i sprawdzić jeszcze czy metoda wykonała się wystarczająco długo?
Z góry dziękuje za pomoc!