Правила использования MSTest
Правила, поддерживающие надлежащее использование MSTest.
Идентификатор | Имя | Описание |
---|---|---|
MSTEST0002 | АнaлизaторДолженБытьВалиднымКлассомТеста | Тестовые классы, классы, помеченные атрибутом [TestClass] , должны учитывать следующий макет, который считается допустимым в MSTest: — оно должно быть public (или internal , если задан атрибут [assembly: DiscoverInternals] )- это не должно быть static - это не должно быть универсальным. |
MSTEST0003 | TestMethodShouldBeValidAnalyzer (Анализатор, который проверяет корректность метода тестирования) | Методы тестирования, методы, помеченные атрибутом [TestMethod] , должны учитывать следующий макет, который считается допустимым в MSTest:— оно должно быть public (или internal , если задан атрибут [assembly: DiscoverInternals] )- это не должно быть static - это не должно быть универсальным - это не должно быть abstract — возвращаемый тип должен быть void или Task - это не должно быть async void — это не должен быть специальный метод, такой как финализатор или оператор. |
MSTEST0005 | TestContextShouldBeValidAnalyzer | Свойство TestContext должно соответствовать следующему макету, чтобы быть допустимым: - это должно являться свойством — оно должно быть public (или internal , если задан атрибут [assembly: DiscoverInternals] )- это не должно быть static - это не должно быть только для чтения. |
MSTEST0007 | АнализаторИспользованияАтрибутаНаМетодеТеста | Следующие атрибуты теста должны применяться только к методам, помеченным атрибутом TestMethodAttribute: - [CssIteration] - [CssProjectStructure] - [Description] - [ExpectedException] - [Owner] - [Priority] - [TestProperty] - [WorkItem] |
MSTEST0008 | ТестИнициализацияДолжнаБытьКорректнымАнализатором | Методы, помеченные [TestInitialize] , должны соответствовать следующему формату, чтобы быть допустимыми.- это должно быть public - это не должно быть static - это не должно быть универсальным - это не должно быть abstract — он не должен принимать какой-либо параметр — возвращаемый тип должен быть void , Task или ValueTask - это не должно быть async void - это не должен быть специальный метод (метод завершения, оператор...). |
MSTEST0009 | ПроверкаДолжнаБытьПравильнойАнализатором | Методы, помеченные [TestCleanup] , должны соответствовать следующему формату, чтобы быть допустимыми.- это должно быть public - это не должно быть static - это не должно быть универсальным - это не должно быть abstract — он не должен принимать какой-либо параметр — возвращаемый тип должен быть void , Task или ValueTask - это не должно быть async void - это не должен быть специальный метод (метод завершения, оператор...). |
MSTEST0010 | АнализаторИнициализацииКлассаДолженБытьДопустимым | Методы, помеченные [ClassInitialize] , должны соответствовать следующему формату, чтобы быть допустимыми.- это должно быть public - это должно быть static - это не должно быть универсальным — он должен принимать один параметр типа TestContext — возвращаемый тип должен быть void , Task или ValueTask - это не должно быть async void - это не должен быть специальный метод (метод завершения, оператор...). |
MSTEST0011 | ClassCleanupShouldBeValidAnalyzer | Методы, помеченные [ClassCleanup] , должны соответствовать следующему формату, чтобы быть допустимыми.- это должно быть public - это должно быть static - это не должно быть универсальным — он не должен принимать какой-либо параметр — возвращаемый тип должен быть void , Task или ValueTask - это не должно быть async void - это не должен быть специальный метод (метод завершения, оператор...). |
MSTEST0012 | Активатор проверки должен быть корректным для инициализации сборки | Методы, помеченные [AssemblyInitialize] , должны соответствовать следующему формату, чтобы быть допустимыми.- это должно быть public - это должно быть static - это не должно быть универсальным — он должен принимать один параметр типа TestContext — возвращаемый тип должен быть void , Task или ValueTask - это не должно быть async void - это не должен быть специальный метод (метод завершения, оператор...). |
MSTEST0013 | Анализатор_ДолженБыть_КорректнойОчисткойСборки | Методы, помеченные [AssemblyCleanup] , должны соответствовать следующему формату, чтобы быть допустимыми.- это должно быть public - это должно быть static - это не должно быть универсальным — он не должен принимать какой-либо параметр — возвращаемый тип должен быть void , Task или ValueTask - это не должно быть async void - это не должен быть специальный метод (метод завершения, оператор...). |
MSTEST0014 | АнализаторДолженБытьДопустимойСтрокойДанных | Экземпляры [DataRow] должны соответствовать следующей структуре, чтобы быть допустимыми.— они должны быть заданы только в методе тестирования. — число аргументов должно соответствовать количеству параметров метода — тип аргумента должен соответствовать типу аргумента метода |
MSTEST0017 | AssertionArgsShouldBePassedInCorrectOrder | Аргументы утверждения должны передаваться в правильном порядке |
MSTEST0018 | АнализаторДолженБытьДинамическимиДаннымиЭффективен | Методы, помеченные [DynamicData] , также должны быть помечены [TestMethod] (или производным атрибутом). |
MSTEST0023 | DoNotNegateBooleanAssertionAnalyzer | Не отменяйте логические утверждения |
MSTEST0024 | DoNotStoreStaticTestContextAnalyzer | Не храните TestContext в статическом элементе |
MSTEST0026 | АргументыУтвержденияДолжныИзбегатьУсловногоДоступаИдентификаторПравила | Избегайте условного доступа в утверждениях |
MSTEST0030 | Тип, содержащий тестовый метод, должен быть тестовым классом. | Тип, содержащий [TestMethod] , должен быть помечен [TestClass] |
MSTEST0031 | DoNotUseSystemDescriptionAttribute | System.ComponentModel.DescriptionAttribute не действует в контексте тестов |
MSTEST0032 | ОбозревательВсегдаИстинныхУсловийAssert | Проверить или удалить утверждение, поскольку его условие всегда истинно |
MSTEST0034 | UseClassCleanupBehaviorEndOfClass | Использование ClassCleanupBehavior.EndOfClass с [ClassCleanup] |
MSTEST0035 | UseDeploymentItemWithTestMethodOrTestClassTitle |
[DeploymentItem] можно указать только в тестовом классе или методе теста. |
MSTEST0037 | UseProperAssertMethodsAnalyzer | Используйте правильные методы Assert |
MSTEST0038 | Избегайте использования AssertAreSameWithValueTypesAnalyzer | Не используйте Assert.AreSame или Assert.AreNotSame с типами значений |
MSTEST0039 | Используйте более новый AssertThrowsAnalyzer | Используйте более новые методы Assert.Throws |
MSTEST0040 | Избегайте использования AssertsInAsyncVoidContextAnalyzer | Не используйте утверждения внутри контекстов async void |
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.