Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Правила подавления автоматически подавляют диагностику из других анализаторов (таких как Roslyn или анализаторы потоков Visual Studio), которые не применяются в контексте тестов MSTest.
Правила в этой категории
| Идентификатор правила | Название | Подавляет |
|---|---|---|
| MSTEST0027 | Убрать асинхронный суффикс у тестовых методов. | VSTHRD200 |
| MSTEST0028 | Подавляйте асинхронный суффикс для методов тестовых фикстур. | VSTHRD200 |
| MSTEST0033 | Запретить ссылку, не допускаемую значение NULL, не инициализированную. | CS8618 |
Как работают правила подавления
Эти правила не создают собственную диагностику. Вместо этого подавляются предупреждения от других анализаторов, которые иначе срабатывали бы некорректно в тестовом коде.
VSTHRD200. Используйте суффикс 'Async' для асинхронных методов
Подавлено: MSTEST0027, MSTEST0028
Почему подавлять: анализатор потоков Visual Studio (VSTHRD200) рекомендует, чтобы асинхронные методы должны иметь суффикс 'Async'. Однако методы тестирования и методы тестовых приспособлений обнаруживаются MSTest с использованием атрибутов, а не соглашений об именовании. Добавление суффиксов Async в имена методов тестирования (например, TestLoginAsync) не предоставляет значения и может сделать имена тестов менее читаемыми.
Пример:
[TestMethod]
public async Task TestLogin() // VSTHRD200 would warn without suppression
{
await LoginAsync();
// ...
}
CS8618: Ненулевой ссылочный тип не инициализирован
Подавляется: MSTEST0033
Зачем подавлять: при использовании ссылочных типов, допускающих значение NULL, компилятор предупреждает о ненуляемых свойствах, которые не инициализированы в конструкторах. Однако MSTest автоматически инициализирует TestContext свойство перед выполнением любых методов тестирования, поэтому предупреждение не применяется.
Пример:
[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");
}
}
Отключение правил подавления
Если вы предпочитаете видеть эти предупреждения, отключите правила подавления в следующих .editorconfigпараметрах:
[*.cs]
dotnet_diagnostic.MSTEST0027.severity = none
dotnet_diagnostic.MSTEST0028.severity = none
dotnet_diagnostic.MSTEST0033.severity = none