Dela via


MSTest-prestandaregler

Prestandaregler stöder högpresterande testning genom att identifiera möjligheter att optimera testkörningshastigheten.

Regler i den här kategorin

Regel-ID Titel Severity Korrigering tillgänglig
MSTEST0001 Använd attributet Parallelize. Info Yes

Vanliga scenarier

Testparallellisering

Som standard kör MSTest tester sekventiellt, vilket avsevärt kan påverka körningstiden för stora testpaket.

  • MSTEST0001: Påminner dig om att uttryckligen aktivera parallellisering med [assembly: Parallelize] eller bekräfta sekventiell körning med [assembly: DoNotParallelize].

Varför detta är viktigt: Parallellisering kan avsevärt minska testkörningstiden genom att köra tester samtidigt i flera trådar eller processer. Alla testpaket är dock inte säkra att parallellisera (till exempel tester som ändrar delat tillstånd). Den här regeln säkerställer att du fattar ett medvetet beslut om parallellisering.

När du ska aktivera parallellisering:

  • Testerna är oberoende och delar inte tillstånd.
  • Tester förlitar sig inte på körningsordning.
  • Tester ändrar inte globala resurser (databaser, filer och miljövariabler).

När du ska använda DoNotParallelize:

  • Tester har beroenden på delade resurser.
  • Tester ändrar globalt tillstånd.
  • Tester kräver specifik körordning.
  • Du felsöker testfel.