MSTEST0041: Użyj atrybutu „ConditionBaseAttribute” w klasach testowych

Property Value
Identyfikator reguły MSTEST0041
Tytuł Użyj elementu ConditionBaseAttribute w klasach testowych
Kategoria Usage
Poprawka jest przełomowa lub nieprzełomowa Non-breaking
Domyślnie włączone Tak
domyślna ciężkość Warning
wprowadzone w wersji 3.8.0
Czy istnieje poprawka kodu Tak, od wersji MSTest 4.4

Przyczyna

Użycie atrybutu dziedziczonego z ConditionBaseAttribute w klasie, która nie jest oznaczona za pomocą TestClassAttribute.

Opis reguły

Atrybut dziedziczący po ConditionBaseAttribute ma znaczenie tylko wtedy, gdy jest zastosowany do klasy oznaczonej jako TestClassAttribute.

Warunki decydują o tym, czy narzędzie MSTest uruchamia odnaleziony element docelowy testu; nie deklarują same klasy testowej. W zwykłej klasie pomocniczej warunek może wyglądać jak zasada testowa bez udziału w odnajdywaniu lub wykonywaniu testów. Ta reguła wykrywa rozbieżność między deklarowaną polityką a testami, które program uruchamiający faktycznie rozpoznaje.

Jak naprawić naruszenia

W zależności od intencji dodaj brakujący element TestClassAttribute lub usuń atrybut dziedziczony z ConditionBaseAttribute.

Począwszy od msTest 4.4, poprawka kodu dodaje [TestClass] do typu, którego dotyczy zmiana.

Kiedy pomijać ostrzeżenia

Nie ignoruj ostrzeżenia z tej reguły.