Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Недвижимость | Ценность |
|---|---|
| Идентификатор правила | MSTEST0060 |
| Заголовок | Избегайте повторяющихся атрибутов метода теста |
| Категория | Usage |
| Исправление является разрушающим или неразрушающим | Non-breaking |
| Включен по умолчанию | Да |
| Серьезность по умолчанию | Предупреждение |
| представлено в версии | 4.1.0 |
| Существует ли исправление кода | нет |
Причина
Метод теста содержит несколько TestMethodAttribute объявлений.
Описание правила
Метод теста должен иметь только один атрибут, производный от TestMethodAttribute. Наличие нескольких атрибутов метода теста (например [TestMethod] , и [UITestMethod]) для одного метода приводит к использованию только одного атрибута (первого, возвращаемого отражением), что может быть запутано и привести к непреднамеренное выполнение теста.
[TestClass]
public class TestClass
{
[TestMethod]
[UITestMethod] // Violation
public void TestMethod1()
{
// Test code
}
}
Устранение нарушений
Удалите повторяющийся атрибут и сохраните только тот, который соответствует назначению метода тестирования.
[TestClass]
public class TestClass
{
[TestMethod]
public void TestMethod1()
{
// Test code
}
}
Когда следует подавлять предупреждения
Не отключайте предупреждения, создаваемые этим правилом. Наличие нескольких атрибутов метода тестирования создает неоднозначную конфигурацию теста, в которой используется только один атрибут, что может привести к путанице, в которой фактически применяется поведение теста.
Отключение предупреждений
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable MSTEST0060
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0060
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0060.severity = none
Дополнительные сведения см. в разделе "Подавление предупреждений анализа кода".