Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
MSTEST0034: użyj
| Property | Value |
|---|---|
| Identyfikator reguły | MSTEST0034 |
| Title | Użyj ClassCleanupBehavior.EndOfClass z [ClassCleanup]. |
| Category | Usage |
| Poprawka jest niekompatybilna lub kompatybilna wstecz | Non-breaking |
| Domyślnie włączone | Yes |
| domyślna ciężkość | Info |
| Wprowadzone w wersji | 3.6.0 |
| czy istnieje poprawka kodu | No |
Uwaga / Notatka
Ten analizator nie jest już odpowiedni dla msTest 4, ponieważ ClassCleanupBehavior został usunięty.
Cause
Ta reguła zgłasza diagnostykę, gdy nie ustawiono ClassCleanupBehavior.EndOfClass za pomocą [ClassCleanup].
Opis reguły
W MSTest 3 domyślny [ClassCleanup] moment to koniec zestawu, a nie koniec klasy. To opóźnienie może przetrzymywać zasoby należące do klasy, takie jak pliki lub połączenia, podczas gdy niepowiązane klasy nadal działają.
Aby zwolnić zasoby po zakończeniu testów należących do danej klasy, użyj polecenia ClassCleanupBehavior.EndOfClass. Jeśli zasób celowo należy do całego złożenia, należy zamiast tego wyrazić ten cykl życia za pomocą [AssemblyCleanup]. MSTest 4 usuwa ClassCleanupBehavior i używa czyszczenia na końcu klasy.
Jak naprawić naruszenia
Użyj [ClassCleanup(ClassCleanupBehavior.EndOfClass)].
Kiedy wyciszać ostrzeżenia
Nie zaleca się pomijania ostrzeżeń z tej reguły, ponieważ zamiast tego można użyć [AssemblyCleanup].
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 MSTEST0034
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0034
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0034.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.