2013-07-11 27 views
5

Posso eseguire i miei test WatiN con ReSharper senza problemi. Ogni test ha l'attributo RequiresSTA e funziona correttamente.I metodi SetUp e TearDown richiedono [RequiresSTA] se i test lo hanno?

Quando provo eseguire tutti i test della classe (TestFixture) ottengo il seguente errore:

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 

L'errore non indica che cosa ho bisogno di cambiare per farlo funzionare.

Se si selezionano tutti i test che sono stati ignorati nella finestra Sessioni di test unità, è possibile eseguirli senza problemi.

Cosa devo modificare per consentirmi di eseguire tutti i test in TestFixture?

risposta

18

Ho incontrato lo stesso problema. Ho modificato i metodi SetUp() e TearDown() per renderli pubblici, quindi ha funzionato.

+1

Questo sembra essere un problema in ReSharper 9 che questa stessa soluzione sembra risolvere. –

+0

'protected' funziona anche. –

0

Ho sempre impostato lo stato appartamento nel file App.config della mia soluzione e il corridore GUI NUnit esegue intere fixture come previsto.

App.config inizia in questo modo.

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

Modifica: sto utilizzando Watin2.1 e NUnit 2.5.