Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| 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:
TestDataTestDisplayNameDataRowDataConnectionTestName
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.