MSTEST0019. Предпочитать методы TestInitialize над конструкторами
Свойство | Значение |
---|---|
Идентификатор правила | MSTEST0019 |
Заголовок | Предпочитать методы TestInitialize над конструкторами |
Категория | Проект |
Исправление является критическим или не критическим | Не критическое |
Включен по умолчанию | No |
Серьезность по умолчанию | Сведения |
Представлено в версии | 3.4.0 |
Есть ли исправление кода | Да |
Причина
Это правило вызывает диагностику при наличии явного конструктора без параметров, объявленного в тестовом классе (класс, помеченный как ).[TestClass]
Описание правила
Используйте это правило для принудительного применения для [TestInitialize]
синхронной и асинхронной инициализации тестирования. Асинхронная инициализация тестирования (async/await) требует использования [TestInitialize]
методов, так как результаты Task
должны ожидаться.
Устранение нарушений
Замените вызов конструктора методом [TestInitialize]
.
Когда лучше отключить предупреждения
Обычно вы не хотите подавлять предупреждения из этого правила, если вы решили отказаться от него.
Заметка
Это правило требует добровольного согласия. Он не включен даже при использовании <MSTestAnalysisMode>All</MSTestAnalysisMode>
. Дополнительные сведения о MSTestAnalysisMode
см. в разделе , посвященном анализу кода с использованием MSTest.
Подавление предупреждения
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable MSTEST0019
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0019
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0019.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.