Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
| Majątek | Wartość |
|---|---|
| Identyfikator reguły | MSTEST0052 |
| Tytuł | Unikaj jawnego przekazania "DynamicDataSourceType" i stosuj domyślne zachowanie automatycznego wykrywania. |
| Kategoria | Usage |
| Poprawka jest przełomowa lub nieprzełomowa | Non-breaking |
| Domyślnie włączone | Tak |
| domyślna ciężkość | Ostrzeżenie |
| wprowadzone w wersji | 3.11.0 |
| Czy istnieje poprawka kodu | Tak |
Przyczyna
Jawnie DynamicDataAttribute określa Property lub Method zamiast używać domyślnego AutoDetect.
Opis reguły
Począwszy od msTest 3.8, DynamicDataSourceType.AutoDetect jest wartością domyślną parametru DynamicDataSourceType w konstruktorze DynamicDataAttribute . To ulepszenie automatycznie wykrywa, czy źródło danych jest właściwością, metodą lub polem, eliminując konieczność jawnego określenia typu źródła. Użycie AutoDetect sprawia, że kod jest łatwiejszy do utrzymania i zmniejsza złożoność.
Jak naprawić naruszenia
Usuń jawny DynamicDataSourceType parametr z atrybutu DynamicData i pozwól platformie automatycznie wykryć typ źródła.
Na przykład zmień następujące elementy:
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);
}
Do tego:
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);
}
Kiedy pomijać ostrzeżenia
Nie pomijaj ostrzeżeń z tej reguły. Wykonanie sugestii analizatora prowadzi do mniejszego szumu w kodzie testowym.