Бөлісу құралы:


MSTEST0060. Избегайте повторяющихся атрибутов метода тестирования

Недвижимость Ценность
Идентификатор правила 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

Дополнительные сведения см. в разделе "Подавление предупреждений анализа кода".