MSTEST0019: Preferuj metody TestInitialize nad konstruktorami
Właściwości | Wartość |
---|---|
Identyfikator reguły | MSTEST0019 |
Tytuł | Preferuj metody TestInitialize nad konstruktorami |
Kategoria | Projektowanie |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone | Nie. |
Ważność domyślna | Informacje |
Wprowadzone w wersji | 3.4.0 |
czy istnieje poprawka kodu | Tak |
Przyczyna
Ta reguła zgłasza diagnostykę, gdy w klasie testowej zadeklarowano bez parametrów jawny konstruktor (klasa oznaczona jako [TestClass]
).
Opis reguły
Użyj tej reguły, aby wymusić użycie zarówno [TestInitialize]
dla inicjowania synchronicznego, jak i asynchronicznego testu. Inicjowanie testu asynchronicznego (asynchronicznego/await) wymaga użycia [TestInitialize]
metod, ponieważ wynikowy Task
musi być oczekiwany.
Jak naprawić naruszenia
Zastąp wywołanie konstruktora [TestInitialize]
metodą .
Kiedy pomijać ostrzeżenia
Zwykle nie chcesz pomijać ostrzeżeń z tej reguły, jeśli zdecydujesz się na to zgodę.
Uwaga
Ta reguła jest włączona. Nie jest ona włączona nawet w przypadku korzystania z <MSTestAnalysisMode>All</MSTestAnalysisMode>
. Aby uzyskać więcej informacji na temat MSTestAnalysisMode
, zobacz analizę kodu MSTest.
Pomijanie ostrzeżenia
Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.
#pragma warning disable MSTEST0019
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0019
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0019.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.