Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pravidla potlačení automaticky potlačí diagnostiku z jiných analyzátorů (jako jsou analyzátory vláken Roslyn nebo Visual Studio), které se nevztahují v kontextu testů MSTest.
Pravidla v této kategorii
| ID pravidla | Title | Potlačí |
|---|---|---|
| MSTEST0027 | Potlačení asynchronní přípony u testovacích metod. | VSTHRD200 |
| MSTEST0028 | Potlačit asynchronní příponu pro metody zkoušky. | VSTHRD200 |
| MSTEST0033 | Potlačit nenulový odkaz, který nelze inicializovat. | CS8618 |
| MSTEST0047 | Potlačí nepoužívaný parametr TestContext v metodách fixtury. | IDE0060 |
Jak fungují pravidla potlačení
Tato pravidla nevytvářejí vlastní diagnostiku. Místo toho potlačí upozornění z jiných analyzátorů, které by jinak v testovacím kódu aktivovaly nesprávně.
VSTHRD200: Použijte příponu ".Async" pro asynchronní metody
Potlačeno: MSTEST0027, MSTEST0028
Proč potlačit: Analyzátor vláken sady Visual Studio (VSTHRD200) doporučuje, aby asynchronní metody měly mít příponu Async. Metody testů a metody testovacího zařízení jsou však zjištěny pomocí msTest prostřednictvím atributů, nikoli konvencí pojmenování. Přidání přípon "Async" do názvů testovacích metod (například TestLoginAsync) neposkytuje žádnou hodnotu a může ztížit čtení názvů testů.
Příklad :
[TestMethod]
public async Task TestLogin() // VSTHRD200 would warn without suppression
{
await LoginAsync();
// ...
}
CS8618: Nenulový odkaz není inicializován
Potlačeno: MSTEST0033
Proč potlačit: Při použití referenčních typů povolujících hodnotu null kompilátor varuje před vlastnostmi, které nemají povolenou hodnotu null a nejsou inicializovány v konstruktorech. MsTest však automaticky inicializuje TestContext vlastnost před spuštěním testovacích metod, takže upozornění se nepoužije.
Příklad :
[TestClass]
public class MyTests
{
public TestContext TestContext { get; set; } = null!; // CS8618 would warn without suppression
[TestMethod]
public void TestSomething()
{
// TestContext is guaranteed to be non-null here
TestContext.WriteLine("Test output");
}
}
IDE0060: Odebrání nepoužívaného parametru
Potlačeno pomocí: MSTEST0047
Proč potlačit: MSTest umožňuje přijmout TestContext jako parametr metod zařízení označených [AssemblyInitialize], [ClassInitialize], [GlobalTestInitialize]nebo [GlobalTestCleanup]. MSTest vyžaduje tento parametr, i když ho tělo metody nepoužívá, takže IDE0060 (který označuje nepoužívané parametry) se nepoužije.
Příklad :
[TestClass]
public class MyTests
{
[ClassInitialize]
public static void ClassInitialize(TestContext context) // IDE0060 would warn without suppression
{
// context isn't used, but MSTest requires the parameter
}
}
Deaktivovat pravidla potlačení
Pokud si přejete vidět tato upozornění, vypněte pravidla potlačení ve svém .editorconfig:
[*.cs]
dotnet_diagnostic.MSTEST0027.severity = none
dotnet_diagnostic.MSTEST0028.severity = none
dotnet_diagnostic.MSTEST0033.severity = none
dotnet_diagnostic.MSTEST0047.severity = none