2010-02-08 11 views

Odpowiedz

8

Narzędzia MSTest nie wspierają jawnie tego typu zachowania na poziomie atrybutów. Na poziomie atrybutu można włączyć test za pomocą atrybutu TestMethod lub całkowicie wyłączyć go za pomocą atrybutu Ignore. Po dodaniu atrybutu Ignore program mstest nie wykona testu, dopóki go nie usunie. Nie można zmienić tego zachowania za pośrednictwem interfejsu użytkownika.

Co można zrobić, to wyłączyć test na stronie właściwości. Otwórz edytor listy testowej, wybierz test, który chcesz i wciśnij klawisz F4, aby wywołać stronę właściwości. Ustaw właściwość Test włączony na false. Test nie będzie działał, dopóki nie włączysz go ponownie za pośrednictwem strony właściwości. Nie jest to dokładnie to, czego szukasz, ale prawdopodobnie najbliższy odpowiednik.

+0

Czy wiesz, gdzie jest przechowywany? .csproj lub .suo? – st78

+0

@Sergey, nie wiem, ale domyślam się, że jest plik .suo. – JaredPar

+1

@Sergey: ta właściwość Test Enabled jest przechowywana w pliku ".vsmdi" na poziomie rozwiązania – AakashM

0

Nie użyłem go i wygląda na bardzo starego (marzec 2008), ale widzę, że TestListGenerator twierdzi, że automatycznie generuje Test Lists na podstawie atrybutów ustawionych w testach. Jeśli to zadziała, to faktycznie zapewni Categories dla testu MS. Chociaż nie jest to taki sam, jak Explicit, może pozwolić ci osiągnąć to, co chcesz.

1

Możesz utworzyć kategorię "Uruchom ręcznie" dla swoich testów, używając atrybutu Kategoria, a następnie wykluczyć tę kategorię z testów w GUI. Testy te zostaną wyszarzone i możesz je z powrotem umieścić w dowolnym momencie. Robię to często dla powolnych testów.

Powiązane problemy