2011-11-17 15 views
5

tj. Czy po wszystkich testach w klasie testowej metoda ozdobiona atrybutem ClassCleanup została wykonana po natychmiast? (jak TestFixtureTearDown w NUnit). Jakiekolwiek obejścia?Czy możliwe jest posiadanie deterministycznego ClassCleanup w testowaniu urządzenia MSTest/VS?

Alternatywa osadzenia tej ciężkiej konfiguracji/rozpadu w TestInitialize i TestCleanup spowodowałaby wzrost czasów wykonywania testów.

Porównałem te dwa w zeszłym tygodniu. (Oto co znalazłem NUnit vs MSTest. Nie masz dużo czasu latania w MSTest, tak jakbym popełnił błąd, prosimy pisać korekt jako komentarze ..)

Ta szczególna pozycja jest showstopper o ile mi wiadomo. Przeczytaj pierwszą sekcję posta na blogu, jeśli chcesz uzyskać więcej informacji.

+0

Czy oznacza NUnit w nawiasach w drugiej linii? -XUnit działa za pomocą Dispose –

+0

Mam na myśli rodzinę xUnit; ale naprawiono tak, aby uniknąć nieporozumień z xUnit.net – Gishu

Odpowiedz

0

Według MSDN ClassCleanup prowadzony jest w następujący sposób:

Dla klas

ClassInitialize i ClassCleanup nazywane są tuż po twoja klasa jest załadowany i tuż przed swoją klasą jest rozładowany.

Jak czytam, oznacza to, że testy w klasie zostały przeprowadzone.

+0

Dodano notatkę do społeczności na stronie vs2010. Zobacz pierwszą sekcję postu połączonego w pytaniu. Strony MSDN nie mówią, że "Czyszczenie klasy jest uruchamiane w pewnym momencie w przyszłości jako partia.Inne klasy testowe mogą być wykonywane między ostatnim testem a ClassCleanup klasy # 1. " – Gishu

+0

Ok. Nie zdawałem sobie z tego sprawy, ale moja odpowiedź nie jest dobra :-) –

1

ClassInitialize i ClassCleanup są wywoływane zaraz po załadowaniu klasy i tuż przed rozładowaniem klasy.

To prawda, ale klasy są rozładowywane luzem po zakończeniu wszystkich testów.

E.g.

ClassInitialize1
TestInitialize1
TestMethod11
TestCleanup1
TestInitialize1
TestMethod12
TestCleanup1
ClassInitialize2
TestInitialize2
TestMethod21
TestCleanup2
TestInitialize2
TestMethod22
TestCleanup2
TestInitialize2
TestMethod23
TestCleanup2
ClassCleanup1
ClassCleanup2

Powiązane problemy