Jestem jednostką testującą klasę z właściwością, której wartość zmienia się często, w zależności od komunikacji, jaką otrzymuje z innego komponentu. Jeśli klasa nie otrzyma żadnej komunikacji przez 5 sekund, właściwość powraca do wartości domyślnej.Testy jednostkowe z limitami czasu
Jest mi łatwo odgadnąć i wyśmieszyć komponent komunikacyjny, aby wywołać wartości, które chcę przetestować. Problem polega na tym, że jeśli uruchomię testy jednostkowe na maszynie, która jest zajęta (jak maszyna budująca), i istnieje wystarczająco znaczące opóźnienie, aby spowodować, że właściwość będzie domyślna, to mój test jednostkowy zakończy się niepowodzeniem.
Jak można sprawdzić, aby upewnić się, że właściwość ma odpowiednią wartość podczas symulacji różnych warunków komunikacji?
Jednym z pomysłów jest restrukturyzacja mojego kodu tak, że mogę zablokować część klasy, która kontroluje limit czasu. Innym jest napisanie testu jednostki tak, aby mógł wykryć, czy nie powiodło się z powodu przekroczenia czasu i wskazuje to w wynikach testu.
wybrałem tę drogę, ponieważ to było najprostsze rozwiązanie dla mojej sytuacji. Inne sugestie również były świetne. Dziękuje wszystkim! –