Sdílet prostřednictvím


MSTEST0030: Typ obsahující [TestMethod] by měl být označen [TestClass]

Vlastnost Hodnota
ID pravidla MSTEST0030
Název Typ obsahující [TestMethod] by měl být označen [TestClass]
Kategorie Využití
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující
Povoleno ve výchozím nastavení Ano
Výchozí závažnost Upozornění počínaje verzí 4.0.0, informace před upozorněním.
Představeno ve verzi 3.5.0
Existuje oprava kódu No

Příčina

Typ obsahující [TestMethod] by měl být označen pomocí [TestClass], jinak testovací metoda bude bezobslužně ignorována.

Popis pravidla

MSTest považuje testovací metody pouze v kontextu kontejneru třídy testu (třída označená atributem [TestClass] nebo odvozený atribut), což může vést k tichému ignorování některých testů. Pokud má vaše třída představovat běžné testovací chování prováděné podřízenými třídami, doporučuje se označit typ jako abstraktní, aby bylo jasné záměr pro ostatní vývojáře, kteří kód čtou.

Jak opravit porušení

Třída, která není abstraktní, musí být označena metodou testu [TestClass].

Kdy potlačit upozornění

Je bezpečné potlačit diagnostiku, pokud jste si jisti, že vaše třída je zděděna a že testy deklarované v této třídě by se měly spouštět pouze v kontextu podtříd. Nicméně doporučujeme označit třídu jako abstraktní.

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 MSTEST0030
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0030

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.MSTEST0030.severity = none

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.