MSTEST0005. Свойство контекста теста должно иметь допустимый макет
Свойство | Значение |
---|---|
Идентификатор правила | MSTEST0005 |
Заголовок | Свойство контекста теста должно иметь допустимый макет |
Категория | Использование |
Исправление является критическим или не критическим | Не критическое |
Включен по умолчанию | Да |
Серьезность по умолчанию | Предупреждение |
Представлено в версии | 3.2.0 |
Исправлено ли код? | Да |
Причина
Свойство контекста теста не соответствует одному или нескольким точкам требуемого макета контекста теста.
Описание правила
TestContext
свойства должны соответствовать заданному макету, чтобы считаться допустимым в MSTest:
- они должны быть свойствами, а не полями
- они должны быть названы
TestContext
(с учетом регистра) - они должны быть
public
(илиinternal
если задан атрибут сборки[assembly: DiscoverInternals]
) - они не должны быть
static
- они не должны быть прочитаны
Устранение нарушений
Убедитесь, что TestContext
свойство соответствует требуемому макету, описанному выше.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует. Игнорировать это правило приведет к TestContext
тому, что при использовании свойства не внедряется MSTest, что приводит NullReferenceException
к или несогласованности состояния.
Подавление предупреждения
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable MSTEST0005
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0005
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0005.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.