2013-07-11 9 views
5

Ich kann meine WatiN Tests mit ReSharper ohne Probleme ausführen. Jeder Test hat das RequiresSTA Attribut und läuft gut.Benötigen die SetUp- und TearDown-Methoden [RequiresSTA], wenn es Tests gibt?

Wenn ich alle Tests in der Klasse versuchen laufen (TestFixture) bekomme ich folgende Fehlermeldung:

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 

Der Fehler zeigt nicht, was ich ändern muss, damit es funktioniert.

Wenn ich dann alle Tests auswähle, die im Fenster Unit Test Sessions ignoriert wurden, kann ich sie ohne Probleme ausführen.

Was muss ich ändern, damit ich alle Tests in der TestFixture ausführen kann?

Antwort

18

Ich habe das gleiche Problem getroffen. Ich habe die Methoden SetUp() und TearDown() geändert, um öffentlich zu sein, dann hat es funktioniert.

+1

Dies scheint auch ein Problem in ReSharper 9 zu sein, dass diese Lösung zu lösen scheint. –

+0

'protected' funktioniert auch. –

0

Ich habe immer den Apartmentstatus in der App.config-Datei meiner Lösung festgelegt, und der NUnit-GUI-Runner führt die gesamten Fixtures wie erwartet aus.

App.config startet wie folgt.

<?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> 
........ 

Bearbeiten: Ich benutze Wattin2.1 und NUnit 2.5.