MSTEST0048: Unikaj właściwości TestContext w metodach fikstury

Property Value
Identyfikator reguły MSTEST0048
Title Unikaj właściwości TestContext w metodach fixture
Category Usage
Poprawka jest przełomowa lub nieprzełomowa Non-breaking
Domyślnie włączone Yes
domyślna ciężkość Warning
wprowadzone w wersji 3.10.0
Czy istnieje poprawka kodu No

Cause

Metoda oprawy (metody z AssemblyInitializeAttribute, AssemblyCleanupAttribute, ClassInitializeAttributelub ClassCleanupAttribute) uzyskuje dostęp do właściwości ograniczonych TestContext .

Począwszy od msTest.Analyzers 4.4, reguła zgłasza również stały dostęp indeksatora do klucza ograniczonego, takiego jak testContext.Properties["TestName"]. Nie zgłasza dostępu indeksatora, gdy klucz nie jest ciągiem stałym.

Opis reguły

Niektóre TestContext właściwości nie są dostępne w metodach testowych, ponieważ dotyczą one pojedynczego wykonania testu:

Właściwości niedostępne w metodach konfiguracji klas i zestawów:

  • TestData
  • TestDisplayName
  • DataRow
  • DataConnection
  • TestName

Właściwości niedostępne w metodach testowych na poziomie zestawu:

  • FullyQualifiedTestClassName

Jak naprawić naruszenia

Usuń użycie ograniczonych właściwości TestContext z metod fikstury. Rozważ użycie alternatywnych metod inicjowania klasy/zestawu i oczyszczania, które nie opierają się na informacjach kontekstowych specyficznych dla testu.

Kiedy pomijać ostrzeżenia

Nie ignoruj ostrzeżeń z tej zasady. Uzyskiwanie dostępu do tych właściwości w metodach testowych może spowodować nieoczekiwane zachowanie lub błędy w trakcie wykonywania programu.