Freigeben über


MSTEST0056: Verwenden der DisplayName-Eigenschaft für Anzeigenamen der Testmethode

Eigentum Wert
Regel-ID MSTEST0056
Title Verwenden der DisplayName-Eigenschaft für Anzeigenamen der Testmethode
Kategorie Usage
Die Behebung ist eingreifend oder nicht eingreifend Non-breaking
Standardmäßig aktiviert Yes
Voreingestellte Schwere Warnung
wurde in Version eingeführt. 4.0.0
Gibt es eine Codekorrektur Yes

Ursache

Ein Testmethoden-Attribut verwendet anstelle der DisplayName Eigenschaft ein Zeichenfolgenkonstruktorargument.

Regelbeschreibung

Wenn Sie einen benutzerdefinierten Anzeigenamen für eine Testmethode angeben, sollten Sie die DisplayName Eigenschaft verwenden, anstatt eine Zeichenfolge als Konstruktorargument zu übergeben. In MSTest 4.0 und höher wird das Zeichenfolgenkonstruktorargument für Quellinformationen (Aufruferdateipfad) anstelle des Anzeigenamens verwendet, was eine Bruchänderung gegenüber MSTest 3.x darstellt. Durch die Verwendung der DisplayName Eigenschaft wird sichergestellt, dass Ihr Code ordnungsgemäß funktioniert und potenzielle Verwirrungen vermieden wird.

[TestClass]
public class TestClass
{
    [TestMethod("My Test Name")] // Violation
    public void TestMethod()
    {
        // Test code
    }
}

Wie man Verstöße behebt

Ersetzen Sie das Konstruktorargument durch die DisplayName Eigenschaft.

[TestClass]
public class TestClass
{
    [TestMethod(DisplayName = "My Test Name")]
    public void TestMethod()
    {
        // Test code
    }
}

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnungen von dieser Regel. Die Verwendung der DisplayName Eigenschaft ist die einzige Möglichkeit, benutzerdefinierte Anzeigenamen für Testmethoden anzugeben. Wenn Sie beabsichtigen, einen Wert für den Parameter für den Aufruferdateipfad explizit zu übergeben, anstatt einen Anzeigenamen festzulegen, können Sie diese Warnung unterdrücken, dies ist jedoch selten erforderlich.

Unterdrücken einer Warnung

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.

#pragma warning disable MSTEST0056
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0056

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

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

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