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