Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Недвижимость | Ценность |
|---|---|
| Идентификатор правила | MSTEST0052 |
| Заголовок | Избегайте передачи явного типа DynamicDataSourceType и используйте поведение автоматического обнаружения по умолчанию. |
| Категория | Usage |
| Исправление является разрушающим или неразрушающим | Non-breaking |
| Включен по умолчанию | Да |
| Серьезность по умолчанию | Предупреждение |
| представлено в версии | 3.11.0 |
| Существует ли исправление кода | Да |
Причина
Явно указывает DynamicDataAttribute или Property вместо использования значения по умолчанию Method.
Описание правила
Начиная с MSTest 3.8, DynamicDataSourceType.AutoDetect является значением по умолчанию для DynamicDataSourceType параметра в конструкторе DynamicDataAttribute . Это улучшение автоматически определяет, является ли источник данных свойством, методом или полем, устраняя необходимость явно указывать тип источника. Использование AutoDetect упрощает поддержку кода и уменьшает его многословность.
Устранение нарушений
Удалите явный DynamicDataSourceType параметр из DynamicData атрибута и позволить платформе автоматически обнаруживать исходный тип.
Например, измените следующее:
public static IEnumerable<object[]> TestData { get; } = new[]
{
new object[] { 1, 2, 3 },
new object[] { 4, 5, 9 }
};
[TestMethod]
[DynamicData(nameof(TestData), DynamicDataSourceType.Property)]
public void TestMethod(int a, int b, int expected)
{
Assert.AreEqual(expected, a + b);
}
На эту:
public static IEnumerable<object[]> TestData { get; } = new[]
{
new object[] { 1, 2, 3 },
new object[] { 4, 5, 9 }
};
[TestMethod]
[DynamicData(nameof(TestData))]
public void TestMethod(int a, int b, int expected)
{
Assert.AreEqual(expected, a + b);
}
Когда следует подавлять предупреждения
Не подавляйте предупреждения из этого правила. Следование предложению анализатора приводит к снижению уровня шума в тестовом коде.