2013-07-11 9 views
5

Mogę uruchomić swoje testy WatiN z ReSharper bez problemów. Każdy test ma atrybut RequiresSTA i działa poprawnie.Czy metody SetUp i TearDown wymagają [requireSTA], jeśli testy je posiadają?

gdy próbuję uruchomić wszystkie testy w klasie (TestFixture) pojawia się następujący błąd:

One or more child tests had errors 
Exception doesn't have a stacktrace 
<testname> ignored: Invalid signature for SetUp or TearDown method: TestSetup 
<testname> ignored: Invalid signature for SetUp or TearDown method: TestSetup 
<testname> ignored: Invalid signature for SetUp or TearDown method: TestSetup 

Błąd nie wskazuje, co należy zmienić, aby to działało.

Jeśli następnie wybiorę wszystkie testy, które zostały zignorowane w oknie Sesje testów jednostkowych, mogę je uruchomić bez problemów.

Co muszę zmienić, aby umożliwić mi wykonywanie wszystkich testów w TestFixture?

Odpowiedz

18

Napotkałem ten sam problem. Zmieniłem metody SetUp() i TearDown() na publiczne, po czym zadziałało.

+1

To także wydaje się być problemem w ReSharper 9, który wydaje się rozwiązać to samo rozwiązanie. –

+0

'protected' również działa. –

0

Zawsze ustawiałem stan mieszkania w pliku App.config mojego rozwiązania, a NUnit GUI runner uruchamia całe urządzenia zgodnie z oczekiwaniami.

App.config zaczyna się tak.

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    <sectionGroup name="NUnit"> 
     <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/> 
    </sectionGroup> 
    </configSections> 
    <NUnit> 
    <TestRunner> 
     <!-- Valid values are STA,MTA. Others ignored. --> 
     <add key="ApartmentState" value="STA"/> 
    </TestRunner> 
    </NUnit> 
    <appSettings> 
........ 

Edytuj: Używam Watin2.1 i NUnit 2.5.

Powiązane problemy