MSTEST0050: Globalny osprzęt testowy powinien być prawidłowy

Property Value
Identyfikator reguły MSTEST0050
Title Globalne urządzenie testowe powinno być prawidłowe
Category Usage
Poprawka jest przełomowa lub nieprzełomowa Non-breaking
Domyślnie włączone Yes
domyślna ciężkość Ostrzeżenie w programie MSTest 4.3 lub nowszym; błąd we wcześniejszych wersjach
wprowadzone w wersji 3.10.0
Czy istnieje poprawka kodu No

Cause

Globalna metoda urządzenia testowego (oznaczona jako GlobalTestInitializeAttribute lub GlobalTestCleanupAttribute) nie jest zgodna z wymaganym układem lub ma nieprawidłową konfigurację.

Opis reguły

GlobalTestInitialize i GlobalTestCleanup są wykonywane przed i po każdym teście w całym zespole. Umożliwiają one zastosowanie współużytkowanej konfiguracji lub oczyszczania na test bez dodawania wywołania zwrotnego do każdej klasy testowej:

Requirement Powód
Metoda jest public static. Narzędzie MSTest wywołuje globalne wywołanie zwrotne bez wystąpienia klasy deklaratywnej. Wywołanie zwrotne może być uruchamiane dla testów w innych klasach, więc nie może zależeć od deklarowanych pól dla poszczególnych testów klasy.
Metoda jest zwykła i nie jest abstract ani ogólna. Narzędzie MSTest wymaga treści metody wywoływanej bez specjalnych reguł wywołania lub argumentów typu metody.
Metoda przyjmuje dokładnie jeden TestContext parametr. Parametr identyfikuje bieżące wykonanie testu, nawet jeśli test należy do innej klasy.
Zwracany typ to void, Task lub ValueTask, a metoda nie jest async void. Narzędzie MSTest musi czekać na instalację lub oczyszczanie i obserwować błędy, zanim przejdzie do cyklu życia bieżącego testu.
Typ deklarowania to publiczna, niegeneryczna klasa oznaczona atrybutem [TestClass] lub atrybutem pochodnym. Narzędzie MSTest odnajduje globalne wywołania zwrotne za pośrednictwem znanego kontenera klasy testowej. Klasa może być statyczna, ale nie musi być, ponieważ samo wywołanie zwrotne nie wymaga wystąpienia.

Aby sprawdzić kolejność callbacków, zobacz Globalny cykl życia testów.

Jak naprawić naruszenia

Upewnij się, że globalne metody urządzeń testowych są zgodne z wymaganym układem.

Kiedy pomijać ostrzeżenia

Nie ignoruj ostrzeżeń z tej zasady. Nieprawidłowe globalne metody oprawy testów nie będą wykonywane w czasie wykonywania.