MSTEST0071: Metoda testowa nie powinna określać nazwy wyświetlanej równej jej nazwie

Property Wartość
Identyfikator reguły MSTEST0071
Title Metoda testowa nie powinna określać nazwy wyświetlanej równej jej nazwie
Kategoria Usage
Poprawka jest przełomowa lub nieprzełomowa Non-breaking
Domyślnie włączone Yes
domyślna ciężkość Informacje
wprowadzone w wersji 4.3.0
Czy istnieje poprawka kodu Yes

Przyczyna

Metoda testowa ustawia DisplayName (w TestMethodAttribute lub DataRowAttribute) na wartość identyczną z nazwą metody testowej.

Opis reguły

Ustawienie elementu DisplayName na wartość identyczną z nazwą metody jest nadmiarowe, ponieważ nazwa metody jest już domyślnie używana jako nazwa wyświetlana. Nadmiarowy DisplayName można usunąć bez zmiany sposobu raportowania testu.

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

Jak naprawić naruszenia

Usuń zbędny DisplayName.

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

Dostępna jest poprawka kodu.

Kiedy pomijać ostrzeżenia

Można bezpiecznie pominąć to ostrzeżenie, jeśli celowo ustawisz nazwę wyświetlaną jawnie, na przykład, aby zachować jej stabilność, jeśli metoda zostanie później zmieniona.

Pomijanie ostrzeżenia

Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.