Teilen über


MSTest-Leistungsregeln

Leistungsregeln unterstützen Hochleistungstests, indem Möglichkeiten zur Optimierung der Testausführungsgeschwindigkeit identifiziert werden.

Regeln in dieser Kategorie

Regel-ID Title Schweregrad Fix verfügbar
MSTEST0001 Verwenden Sie parallelize-Attribut. Info Yes

Häufige Szenarien

Testen der Parallelisierung

Standardmäßig führt MSTest Tests sequenziell aus, was sich erheblich auf die Ausführungszeit für große Testsammlungen auswirken kann.

  • MSTEST0001: Erinnert Sie daran, die Parallelisierung explizit mit [assembly: Parallelize] zu aktivieren oder die sequenzielle Ausführung mit [assembly: DoNotParallelize] zu bestätigen.

Warum dies wichtig ist: Parallelisierung kann die Testausführungszeit erheblich reduzieren, indem gleichzeitig Tests über mehrere Threads oder Prozesse hinweg ausgeführt werden. Allerdings sind nicht alle Testsammlungen sicher zu parallelisieren (z. B. Tests, die den freigegebenen Zustand ändern). Diese Regel stellt sicher, dass Sie eine bewusste Entscheidung zur Parallelisierung treffen.

Wann die Parallelisierung aktiviert werden soll:

  • Tests sind unabhängig und teilen keinen Zustand.
  • Tests basieren nicht auf der Ausführungsreihenfolge.
  • Tests ändern keine globalen Ressourcen (Datenbanken, Dateien und Umgebungsvariablen).

Verwendung von DoNotParallelize:

  • Tests haben Abhängigkeiten von gemeinsam genutzten Ressourcen.
  • Tests ändern den globalen Zustand.
  • Tests erfordern eine bestimmte Ausführungsreihenfolge.
  • Sie beheben Testfehler.