MSTEST0071: Testmethode mag geen weergavenaam opgeven die gelijk is aan de naam

Property Value
Regel-ID MSTEST0071
Title Testmethode mag geen weergavenaam opgeven die gelijk is aan de naam
Categorie Usage
Fix kan brekend of niet-brekend zijn Non-breaking
standaard ingeschakeld Yes
standaardniveau van ernst Informatie
geïntroduceerd in versie 4.3.0
Is er een oplossing voor de code Yes

Oorzaak

Een testmethode stelt een DisplayName (op TestMethodAttribute of DataRowAttribute) in op een waarde die gelijk is aan de naam van de testmethode.

Beschrijving van regel

Het instellen van een DisplayName waarde op een waarde die identiek is aan de methodenaam is overbodig, omdat de methodenaam standaard al als weergavenaam wordt gebruikt. De redundante DisplayName kan worden verwijderd zonder de wijze waarop de test wordt gerapporteerd te wijzigen.

[TestClass]
public class MyTestClass
{
    [TestMethod("Test")] // Violation: same as the method name.
    public void Test()
    {
    }
}

Hoe schendingen op te lossen

Verwijder het redundante DisplayName.

[TestClass]
public class MyTestClass
{
    [TestMethod]
    public void Test()
    {
    }
}

Er is een codeoplossing beschikbaar.

Wanneer waarschuwingen onderdrukken

Het is veilig om deze waarschuwing te onderdrukken als u de weergavenaam expliciet instelt, bijvoorbeeld om deze stabiel te houden als de methode later wordt hernoemd.

Een waarschuwing onderdrukken

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.

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

Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst ervan in op none in het configuratiebestand.

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

Zie Hoe u codeanalysewaarschuwingen kunt onderdrukken voor meer informatie.