Поделиться через


Правила проектирования MSTest

Правила проектирования помогут вам создавать и поддерживать наборы тестов, которые соответствуют правильному проектированию и рекомендациям.

Идентификатор Имя Описание
MSTEST0004 PublicTypeShouldBeTestClassAnalyzer Рекомендуется использовать только тестовые классы, помеченные как общедоступные в тестовом проекте.
MSTEST0006 ИзбегайтеExpectedExceptionAttributeAnalyzer Предпочитайте Assert.ThrowsExactly или Assert.ThrowsExactlyAsync вместо [ExpectedException], так как это гарантирует, что только ожидаемый вызов вызывает ожидаемое исключение. API утверждений также обеспечивают большую гибкость и позволяют утверждать дополнительные свойства исключения.
MSTEST0015 МетодТестированияНеСледуетИгнорировать Методы тестирования не должны игнорироваться (помечены [Ignore]).
MSTEST0016 Тестовый класс должен иметь тестовый метод Класс тестирования должен иметь по крайней мере один метод теста или быть статическим с помощью методов, помеченных [AssemblyInitialization] и (или) [AssemblyCleanup].
MSTEST0019 PreferTestInitializeOverConstructorAnalyzer Предпочитать методы TestInitialize над конструкторами
MSTEST0020 Предпочитайте использование конструктора вместо TestInitializeAnalyzer Предпочитайте конструкторы вместо методов TestInitialize
MSTEST0021 ПредпочитайтеDisposeВместоTestCleanupАнализатор Предпочитайте методы Dispose методам TestCleanup
MSTEST0022 Предпочтение TestCleanup над DisposeAnalyzer Предпочитать TestCleanup над методами Dispose
MSTEST0025 Анализатор: Предпочтение Assert.Fail вместо всегда ложных условий Используйте "Assert.Fail" вместо всегда завершающегося неудачей утверждения.
MSTEST0029 ПубличныйМетодДолженБытьТестовымМетодом Метод public в классе, отмеченном [TestClass], должен быть тестовым методом (отмеченным [TestMethod]). Правило игнорирует методы, помеченные [TestInitialize]или атрибутами [TestCleanup].
MSTEST0036 DoNotUseShadowingAnalyzer Теневые элементы теста могут вызвать проблемы с тестированием (например, NRE).