MSTEST0048: Undvik TestContext-egenskaper i fixturmetoder

Property Value
Regel-ID MSTEST0048
Title Undvik TestContext-egenskaper i fixturmetoder
Category Usage
Korrigeringen är antingen brytande eller icke-brytande Non-breaking
Aktiverad som standard Yes
Standard allvarlighetsgrad Warning
introducerades i version 3.10.0
Finns det en kodkorrigering No

Cause

En fixturmetod (metoder med AssemblyInitializeAttribute, AssemblyCleanupAttribute, ClassInitializeAttributeeller ClassCleanupAttribute) har åtkomst till begränsade TestContext egenskaper.

Från och med förhandsversionen av MSTest.Analyzeers 4.4 rapporterar regeln även konstant indexerareåtkomst till en begränsad nyckel, till exempel testContext.Properties["TestName"]. Den rapporterar inte indexerarens åtkomst när nyckeln inte är en konstant sträng.

Regelbeskrivning

Vissa TestContext egenskaper är inte tillgängliga i fixtermetoder eftersom de är specifika för varje enskild testkörning:

Egenskaper som inte är tillgängliga i metoder för klass- och sammansättningsfixtur:

  • TestData
  • TestDisplayName
  • DataRow
  • DataConnection
  • TestName

Egenskaper som inte är tillgängliga i matchningsmetoder på sammansättningsnivå:

  • FullyQualifiedTestClassName

Så här åtgärdar du överträdelser

Ta bort användningen av begränsade TestContext egenskaper från fixturmetoder. Överväg att använda alternativa metoder för initiering och rensning av klass/sammansättning som inte förlitar sig på testspecifik kontextinformation.

När du ska ignorera varningar

Ignorera inte varningar från den här regeln. Åtkomst till dessa egenskaper i fixturmetoder kan resultera i oväntade beteenden eller körningsfel.