Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
| Свойство | Значение |
|---|---|
| Идентификатор правила | MSTEST0010 |
| Заголовок | Метод ClassInitialize должен иметь допустимый макет |
| Категория | Использование |
| Исправление является критическим или не критическим | Не критическое |
| Включен по умолчанию | Да |
| Серьезность по умолчанию | Предупреждение |
| Представлено в версии | 3.3.0 |
| Есть ли исправление кода | Да |
Причина
Метод, помеченный как [ClassInitialize] допустимый макет.
Описание правила
Методы, помеченные как допустимые, [ClassInitialize] должны соответствовать следующему макету:
- Его нельзя объявить в универсальном классе без
InheritanceBehaviorустановки режима. - оно должно быть
public - оно должно быть
static - это не должно быть
async void - он не должен быть специальным методом (метод завершения, оператор...).
- Оно не должно быть универсальным
- он должен принимать один параметр типа
TestContext - Тип возвращаемого значения должен иметь значение
voidTaskилиValueTask -
InheritanceBehavior.BeforeEachDerivedClassПараметр атрибута должен быть указан, если класс имеет значениеabstract. -
InheritanceBehavior.BeforeEachDerivedClassПараметр атрибута не должен быть указан, если класс имеет значениеsealed.
Тип, объявляющий эти методы, также должен соблюдать следующие правила:
- Тип должен быть
class. - Должен
classбытьpublicилиinternal(если тестовый проект использует[DiscoverInternals]атрибут). - Не
classдолжно бытьstatic. - Если значение
classимеет значениеsealed, оно должно быть отмечено производным[TestClass]атрибутом (или производным атрибутом).
- Класс не должен быть универсальным
Устранение нарушений
Убедитесь, что метод соответствует приведенному выше макету.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует. Если игнорировать это правило, помеченные экземпляры будут пропущены или приводят к ошибке среды выполнения.
Подавление предупреждения
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable MSTEST0010
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0010
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0010.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.