Freigeben über


MSTEST0001: Explizites Aktivieren oder Deaktivieren von Tests

Eigenschaft Wert
Regel-ID MSTEST0001
Titel Explizites Aktivieren oder Deaktivieren von Tests
Kategorie Leistung
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend
Standardmäßig aktiviert Ja
Standardschweregrad Info
Eingeführt in Version 3.2.0
Gibt es eine Codekorrektur No

Ursache

Die Assembly ist nicht mit dem Attribut [assembly: Parallelize] oder [assembly: DoNotParallelize] gekennzeichnet.

Regelbeschreibung

Standardmäßig führt MSTest Tests innerhalb derselben Assembly sequenziell aus, was zu schwerwiegenden Leistungseinschränkungen führen kann. Es wird empfohlen, das Assemblyattribut [assembly: Parallelize] zu aktivieren, um Tests parallel auszuführen, oder explizit das Attribut [assembly: DoNotParallelize] auf Assemblyebene zu verwenden, falls die Assembly nicht parallelisierbar ist.

Die Standardkonfiguration von [assembly: Parallelize] ist gleichbedeutend mit [assembly: Parallelize(Scope = ExecutionScope.ClassLevel)], was bedeutet, dass die Parallelisierung auf Klassenebene (nicht auf Methodenebene) festgelegt wird und so viele Threads wie möglich verwendet (abhängig von der internen Implementierung).

Behandeln von Verstößen

Um einen Verstoß gegen diese Regel zu beheben, fügen Sie das Attribut [assembly: Parallelize] oder [assembly: DoNotParallelize] hinzu. Es wird empfohlen, [assembly: Parallelize(Scope = ExecutionScope.MethodLevel)] für die beste Parallelisierung zu verwenden.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel. Viele Bibliotheken können von einer massiven Leistungssteigerung profitieren, wenn Parallelisierung aktiviert wird. Wenn die Testanwendung auf eine Weise entwickelt wird, die die Parallelisierung verhindert, hilft das explizite Festlegen des Attributs neuen Entwickler*innen, die Einschränkungen der Bibliothek zu verstehen.

Unterdrücken einer Warnung

Verstöße gegen diese Regel können nicht inline unterdrückt werden.

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none fest.

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0001.severity = none

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.