Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Eigenschappen | Weergegeven als |
|---|---|
| Regel-id | MSTEST0024 |
| Titel | TestContext niet opslaan in een statisch lid |
| Categorie | Gebruik |
| Oplossing is brekend of niet-brekend | Niet-brekend |
| Standaard ingeschakeld | Ja |
| Standaard ernst | Waarschuwing vanaf 4.0.0, Info voor |
| Geïntroduceerd in versie | 3.4.0 |
| Is er een codeoplossing | Nee |
Oorzaak
Deze regel genereert een diagnose wanneer een toewijzing aan een static lid van een TestContext parameter wordt uitgevoerd.
Vanaf MSTest 4.4 detecteert de regel ook samenvoegingstoewijzingen, zoals s_testContext ??= testContexten deconstructietoewijzingen die in een statisch lid worden opgeslagen TestContext .
Beschrijving van regel
De TestContext parameter die wordt doorgegeven aan elke initialisatiemethode ([AssemblyInitialize] of [ClassInitialize]) is specifiek voor de huidige context en wordt niet bijgewerkt bij elke testuitvoering. Het opslaan, voor hergebruik, leidt dit TestContext object meestal tot problemen.
Schendingen oplossen
Sla de [AssemblyInitialize] parameter niet [ClassInitialize]TestContext op.
Wanneer waarschuwingen onderdrukken
U kunt waarschuwingen van deze regel onderdrukken als u zeker weet dat het gedrag overeenkomt met wat u wilt doen.
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable MSTEST0024
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0024
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst ervan in op none in het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0024.severity = none
Voor meer informatie, zie Hoe codeanalysewaarschuwingen onderdrukken.