MSTEST0007: Verwenden von Testattributen ausschließlich für Testmethoden
Eigentum | Wert |
---|---|
Regel-ID | MSTEST0007 |
Titel | Verwenden von Testattributen ausschließlich für Testmethoden |
Kategorie | Verwendung |
Fix is breaking or non-breaking | Nicht unterbrechend |
Standardmäßig aktiviert | Ja |
Standard-Schweregrad | Info |
Eingeführt in der Version | 3.3.0 |
Gibt es eine Codekorrektur | Ja |
Ursache
Eine Methode, die nicht mit TestMethodAttribute gekennzeichnet ist, weist mindestens ein Testattribut auf.
Regelbeschreibung
Die folgenden Testattribute sollten nur auf Methoden angewendet werden, die mit dem attribut TestMethodAttribute gekennzeichnet sind:
- CssIterationAttribute
- CssProjectStructureAttribute
- DescriptionAttribute
- ExpectedExceptionAttribute
- OwnerAttribute
- PriorityAttribute
- TestPropertyAttribute
- WorkItemAttribute
Wie man Verstöße behebt
Um einen Verstoß gegen diese Regel zu beheben, konvertieren Sie entweder die Methode, auf die Sie die Testattribute angewendet haben, in eine Testmethode, indem Sie das Attribut [TestMethod]
setzen, oder entfernen Sie die Testattribute vollständig.
Wann Warnungen unterdrückt werden sollen
Unterdrücken Sie keine Warnung dieser Regel. Wenn Sie diese Regel ignorieren, werden Ihre Attribute ignoriert, da sie nur in einem Testkontext verwendet werden.
Unterdrücken einer Warnung
Wenn Sie nur eine einzelne Verletzung unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.
#pragma warning disable MSTEST0007
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0007
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdateiauf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0007.severity = none
Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.