Porady: wymuszanie zatrzymywania testów po określonym okresie czasu
Można ustawić limity czasu, które będzie spełniać wykonanie testu lub przebiegu testu.Może być konieczne to zrobić, na przykład, jeśli pracujesz w środowisku testowym i należy uruchomić test do wykonania w określonym czasie dzień.
Inny scenariusz użycie limity czasu jest kod przestać odpowiadać.Jeśli test napotkał sekcję kodu, który nie odpowiada, korzystanie z limit czasu testu oraz limit czasu wykonywania testu umożliwia indywidualnych testów Zakończ, aby przebieg testu można kontynuować kolejne testy.
Istnieją dwie metody limitów czasu.
Ustawienie limitu czasu dla wszystkich testów: można ustawić wartości limitu czasu dla testów i przebiegi testów w ustawieniach testu.Aby uzyskać więcej informacji na temat ustawień testowych, zobacz Wprowadzanie ustawień testów w programie Visual Studio.
Zastąp wartość limitu czasu na Test na poszczególne testu: wartość limitu czasu na test można zastąpić, ustawiając właściwość na poszczególnych testów.Nie można zastąpić wartość limitu czasu wykonywania testu.
Nie można ustawić limity czasu testu, dla testu określonych typów.Limity czasu testu nie mają zastosowania do testów ręcznych, ale limity czasu wykonywania testu obowiązują zawsze, nawet w przypadku testów, które zawierają testów ręcznych.
Ustawienie terminy testów i testów ma te skutki:
Po jego wartość limitu czasu obowiązywania przebiegu testu, przebieg testu jest zostało przerwane, nawet jeśli ma pewne testy nie został uruchomiony.
Podczas badania poszczególnych osiągnie jego wartość limitu czasu, przestaje tego testu i test jest oznaczona jako limit czasu.Przebieg testu kontynuuje kolejne testu.
Jak wpływ metody inicjowania testowanie limity czasu
W przypadku testu może zawierać AssemblyInitializeAttribute metody i ClassInitializeAttribute metody.Jeśli te metody są zdefiniowane, będą one miały skończonego ilość czasu, aby zakończyć, a następnie rozpoczyna się pierwszego badania w przebieg testu.
Ilość czasu, jaki użyj metody inicjowania jest dodawany do ilość czasu, korzystającej z pierwszego testu.Firma Microsoft można wyrazić jako formułę wykorzystującą niniejsze warunki:
Dt = łączny czas trwania
Dr = ilość czasu, która uruchamia test
I = metody inicjowania dla zestawu i klasy
Tn = test, który jest uruchamiany w losowo wybranych pozycji w przypadku testu
T1 = test, który jest uruchamiany na pierwszym miejscu w przypadku testu
Stosuje się do wszystkich testów po pierwszym testu:
Dt**[Tn] = Dr[Tn]**
Pamiętaj jednak, następujących przypadków:
Dt**[T1] = Dr[T1] + D[I]**
Pierwszy test, który jest uruchamiany może mieć przypisaną wartość limitu czasu na testu.W takim przypadku czas inicjowania jest liczony nakłada się limit czasu podczas pierwszego badania i dlatego może spowodować, że test nie powiedzie się.
[!UWAGA]
Ograniczenie to może spowodować, że tylko pierwszego testu kończy się niepowodzeniem.Nie wpływa to na kolejne testy w przebieg testu.
Jeśli Twój testu zawiera metody inicjowania, można obejścia tego ograniczenia w następujący sposób: stosowane do każdego testu limitu czasu, która jest większa niż suma oczekiwany czas wykonywania metody badania i wszystkie metody inicjowania.Trzeba w tym celu dla każdego testu.Ponieważ testowania jednostek nie gwarantuje kolejności, w których testów, nie można przewidzieć, testów, które zostaną uruchomione pierwszy.
Jak wpływ metody czyszczenia testowanie limity czasu wykonywania
W przypadku testu może zawierać AssemblyCleanupAttribute metody i ClassCleanupAttribute metody.Po zakończeniu tych metod, test Uruchom elementów end.
Przebieg testu może mieć przypisaną wartość limitu czasu.Ilość czasu, jaki jest używana przez metody Oczyszczanie zostanie dodany do całkowitej ilości czasu, która jest używana przez przebieg testu.Innymi słowy licznik czasu Oczyszczanie limitem czasu, które zostały nałożone na test Uruchom jako całość i dlatego może spowodować, że przebieg testu limitu czasu.
Ustawienie limitu czasu dla wszystkich testów
Ta procedura obejmuje utworzenie pliku ustawień testu.Zaleca się unikanie tego, jeżeli to możliwe, ponieważ jego wymusza testów do uruchomienia w ramach starsze, mniej wydajne.
W folderze Elementy rozwiązania rozwiązania kliknij dwukrotnie plik ustawień testu.Jeśli nie masz pliku *.testsettings, kliknij prawym przyciskiem myszy to rozwiązanie i wybierz polecenie Dodaj element, ustawień testu.
Ustawienia konfiguracji pojawi się okno dialogowe.
Wybierz testowanie limity czasu.
Sprawdź przerwać test działać, jeśli jego łączny czas wykonania przekracza:
Ustaw przebieg testu wartość limitu czasu w godziny, minuty i sekundy.
Wybierz zapisać , a następnie wybierz Zamknij.
Uczyń ten plik ustawień testu aktywne.Wybierz testu > testowania ustawień > ustawić ustawienia testu.
Ustaw wartość limitu czasu na poszczególnych testów
Dodaj atrybut limit czasu do każdego testu.Parametr jest w milisekundach.Na przykład:
[TestMethod(), Timeout(80)] public void MyTestMethod() { // test code } <TestMethod(), Timeout(80)> _ Public Sub MyTestMethod() ' test code End Sub
Ten test tylko zostanie ustawiona wartość zastępuje wartość limitu czasu na test zdefiniowane w obszarze Ustawienia testu.Nie wpływa to wartość limitu czasu wykonywania testu.
Zobacz też
Zadania
Porady: wybieranie aktywnych ustawień testów z Microsoft Visual Studio