Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Vlastnost | Hodnota |
|---|---|
| ID pravidla | MSTEST0018 |
| Název | DynamicData by měla být platná. |
| Kategorie | Využití |
| Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
| Povoleno ve výchozím nastavení | Ano |
| Výchozí závažnost | Upozorňující |
| Představeno ve verzi | 3.6.0 |
Příčina
Metoda označená [DynamicData] pomocí by měla mít platné rozložení.
Popis pravidla
Metody označené [DynamicData] také musí být označené (nebo odvozeným atributem [TestMethod] ).
Na člen "zdroj dat" odkazoval:
- by měl existovat u zadaného typu (aktuální třída, pokud není zadán žádný typ)
- by nemělo mít přetížení
- by měla být stejného typu (metoda nebo vlastnost) jako
DataSourceTypevlastnost. - by měla být
public - by měla být
static - by neměly být obecné.
- by měla být bez parametrů
- by měla vrátit
IEnumerable<object[]>,IEnumerable<Tuple<T,...>>neboIEnumerable<ValueTuple<,...>>
Na člena "zobrazovaný název" byl odkazován:
- by měl existovat u zadaného typu (aktuální třída, pokud není zadán žádný typ)
- by nemělo mít přetížení
- by měla být metoda
- by měla být
public - by měla být
static - by neměly být obecné.
- by měla vrátit
string - by měly mít přesně 2 parametry, první a
MethodInfodruhý parametrobject[]
Příklad:
public static string GetDisplayName(MethodInfo methodInfo, object[] data)
{
return string.Format("{0} ({1})", methodInfo.Name, string.Join(",", data));
}
Jak opravit porušení
Ujistěte se, že atribut odpovídá výše popsaným podmínkám.
Kdy potlačit upozornění
Nepotlačujte upozornění na toto pravidlo. Pokud toto pravidlo ignorujete, instance s příznakem se buď přeskočí, nebo dojde k chybě za běhu.
Potlačte upozornění
Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable MSTEST0018
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0018
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0018.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.