2011-08-18 16 views
6

Mam zespół testowania jednostkowego, używając NUnit, który zawiera tysiące testów w różnych przestrzeniach nazw i urządzeniach.NUnit: Globalne urządzenie instalacyjne nieużywane, gdy urządzenie jest uruchamiane, określone jest w wierszu poleceń

Chcę uruchomić globalną konfigurację przed uruchomieniem testów w moim zespole (konfigurowanie detektorów śledzenia). Mogę to zrobić, tworząc [SetUpFixture] w globalnej przestrzeni nazw.

Działa to dobrze, gdy uruchomione wszystkie testy np:
nunit.exe testassembly.exe

Jednak gdybym określić urządzenie do przetestowania, a następnie globalna konfiguracja nie jest prowadzony, na przykład:
nunit.exe testassembly.exe /fixture=MyTests

Jak mogę zapewnić globalny konfiguracja, która jest zawsze uruchamiana przed uruchomieniem jakichkolwiek testów w zespole?

UPDATE:

Zauważ, że biegacz testu konsola będzie działać dobrze przy użyciu opcji /run, czyli globalny setup jest uruchamiany, nawet jeśli tylko dany element testowy jest prowadzony. Jestem po rozwiązanie dla biegacza testu GUI.

+0

Którą wersję NUnit używasz? – sll

+0

@sllev - NUnit 2.5.5. Przetestowano także najnowszą stabilną wersję 2.5.10.11092. – Ergwun

+1

Opublikuj swoje pytanie jako odpowiedź, pomogło mi to. –

Odpowiedz

7

Charlie Poole zasugerował alternatywę w NUnit discussion forum.

Zalecanym sposobem obejścia tego problemu jest uwzględnienie wszystkich ustawień i przerw na poziomie urządzeń przy użyciu opcji [TestFixtureSetup] i [TestFixtureTearDown].

Globalną konfigurację i przerwanie można osiągnąć w ten sposób, używając klasy bazowej dla urządzeń testowych do udostępniania kodu między urządzeniami. Aby globalna konfiguracja miała zostać uruchomiona tylko raz przed dowolnym urządzeniem, można użyć flagi, aby zapobiec jej wielokrotnemu uruchomieniu.

P.S. Opcja/fixture jest uznawana za przestarzałą.

Powiązane problemy