Megosztás a következőn keresztül:


MSTest-kódelemzés

Az MSTest-elemzés ("MSTESTxxxx") szabályai biztonsági, teljesítménybeli, tervezési és egyéb problémák esetén ellenőrzik a C# vagy a Visual Basic kódját.

Tipp.

Ha Visual Studio-t használ, számos elemző szabály rendelkezik a probléma megoldásához alkalmazható kódjavításokkal . A kódjavítások a villanykörte ikon menüjében jelennek meg.

A szabályok olyan kategóriákba vannak rendezve, mint például a teljesítményhasználat...

Az MSTest.TestFramework 3.7-től kezdve az MSTest.Analyzers NuGet csomag a keretrendszer függősége. A korábbi verziók esetén a MSTest metacsomagot kell használnia, vagy kifejezetten hozzá kell adnia egy csomaghivatkozást a MSTest.Analyzers-hez.

MSTestAnalysisMode

Az MSTest 3.8-tól kezdve egy MSTestAnalysisMode nevű MSBuild tulajdonság érhető el annak meghatározásához, hogy mely elemzők engedélyezve vannak milyen súlyossággal.

Tipp.

Ha meg szeretné tudni, hogy mely szabályok vannak engedélyezve az egyes üzemmódok súlyosságánál, keresse meg a NuGet-gyorsítótárban az érdeklődési kör csomagját, keresse meg a globalconfigs könyvtárat, és nyissa meg az elemzési módnak megfelelő .globalconfig fájlt. További információ a NuGet-gyorsítótár könyvtárának megkereséséről: Globális csomagok, gyorsítótár és ideiglenes mappák kezelése. Ebben a könyvtárban keresse meg mstest.analyzers könyvtárat, majd a verziót (3.8 vagy újabb), majd globalconfigs. Másik lehetőségként letöltheti a kívánt verzió NuGet-csomagját nuget.org, és megtekintheti azt a NuGet Package Explorerben (Windows alkalmazás), vagy közvetlenül a NuGet Package Explorer webalkalmazás-verziójában.

A tulajdonság elérhető értékei:

None

Ez az érték az összes elemző súlyosságát none-ra állítja, és ezzel letiltja őket. Ezután engedélyezheti az egyes elemzőket .editorconfig vagy .globalconfig fájlok használatával.

Default

Ez a beállítás az egyes szabályok alapértelmezett dokumentált viselkedését követi.

  • Az alapértelmezés szerint engedélyezett szabályok az alapértelmezett súlyosságukat használják.
  • Az alapértelmezés szerint letiltott szabályok none súlyosságot használnak.

Megjegyzés

A figyelmeztetésként alapértelmezés szerint engedélyezett szabályok olyan szabálysértések, amelyek futásidőben várhatóan problémákat okoznak.

Ezt a módot várjuk a legtöbb fejlesztőtől. Az Info (suggestion) súlyosságával alapértelmezés szerint engedélyezett szabályok figyelmeztetésekká eszkalálódnak. Ezenkívül bizonyos szabályok hibává alakulhatnak mind a Recommended, mind a All módban. Például MSTEST0003: A tesztmódszereknek érvényes elrendezésűnek kell, hogy legyenek, hibaként van eszkalálva, Recommended és All módban.

All

Ez a mód agresszívabb, mint Recommended. Minden szabály figyelmeztetésként van engedélyezve. Ahogy az Recommended mód esetében is említettük, egyes szabályok Recommended és All módban hibákká válnak. Például MSTEST0003: A tesztmódszereknek érvényes elrendezésűnek kell, hogy legyenek, hibaként van eszkalálva, Recommended és All módban.

Kategóriák

Tervezési szabályok

tervezési szabályok segítenek olyan tesztcsomagok létrehozásában és karbantartásában, amelyek megfelelnek a megfelelő kialakításnak és a bevált eljárásoknak.

Teljesítményszabályok

teljesítményszabályok támogatják a nagy teljesítményű tesztelést.

Elnyomási szabályok

letiltási szabályok támogatják a diagnosztika más szabályokból való letiltását.

Használati szabályok

használati szabályok támogatják az MSTest megfelelő használatát.

MSTESTEXP

Az MSTest számos API-ját a ExperimentalAttributedíszíti. Ez az attribútum azt jelzi, hogy az API kísérleti jellegű, és az MSTest jövőbeli verzióiban eltávolítható vagy módosítható. Az attribútum olyan API-k azonosítására szolgál, amelyek még nem stabilak, és nem alkalmasak éles használatra.

Az MSTESTEXP diagnosztikai riasztások figyelmeztetnek a kód használata során egy kísérleti API-ra. Ha ki szeretné kapcsolni a diagnosztikát a SuppressMessageAttributehasználatával, adja hozzá a következő kódot a projekthez:

using System.Diagnostics.CodeAnalysis;

[assembly: SuppressMessage("MSTESTEXP", "Justification")]

Ezt a diagnosztikát az előfeldolgozási irányelvvel is letilthatja, ha hozzáadja a következő kódot a projekthez:

#pragma warning disable MSTESTEXP
        // API that is causing the warning.
#pragma warning restore MSTESTEXP