MSTEST0003: Testovací metody by měly mít platné rozložení
Vlastnost | Hodnota |
---|---|
ID pravidla | MSTEST0003 |
Název | Testovací metody by měly mít platné rozložení |
Kategorie | Využití |
Oprava způsobující chybu nebo chybu způsobující chybu | Narušující |
Povoleno ve výchozím nastavení | Ano |
Výchozí závažnost | Upozornění (eskalované na chybu při nastavení MSTestAnalysisMode na Recommended nebo All ) |
Představeno ve verzi | 3.2.0 |
Existuje oprava kódu | Ano |
Příčina
Testovací metoda neslouchá po jednom nebo několika bodech požadovaného rozložení testovací metody.
Popis pravidla
Testovací metody (metody označené atributem [TestMethod]
) by měly dodržovat dané rozložení, které má MSTest považovat za platné:
- měly by být
public
(nebointernal
pokud[assembly: DiscoverInternals]
je nastavený atribut) - neměli by být
static
- neměly by být obecné, pokud používáte MSTest 3.7 nebo starší.
- neměli by být
abstract
- měly by se vrátit
void
neboTask
- neměli by být
async void
- by neměly být speciální metodou (konstruktor, finalizátor, operátor...)
- typ deklarující tuto metodu by měl být veřejný.
Jak opravit porušení
Ujistěte se, že testovací metoda odpovídá požadovanému rozložení popsanému výše.
Kdy potlačit upozornění
Nepotlačujte upozornění na toto pravidlo. Ignorování tohoto pravidla způsobí ignorování testů, protože MSTest nebude tuto metodu považovat za testovací metodu.
Potlačte upozornění
Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable MSTEST0003
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0003
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none
v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0003.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.