.nettestingnunitwatinapartment-state

NUnit GUI Runner and Apartment State


How do you set the apartment state in the NUnit GUI runner? I'm trying to run a single NUnit test with WatiN and I'm getting the message:

MyNamespace.LoginTests.CanLogin:
System.Threading.ThreadStateException : The CurrentThread needs to have it's ApartmentState set to ApartmentState.STA to be able to automate Internet Explorer.


Solution

  • You need to add some configuration to your assembly's app.config file (if you don't have once, create a new one) to tell NUnit to run as STA:

    <?xml version="1.0" encoding="utf-8" ?>
    
    <configuration>
        <configSections>
            <sectionGroup name="NUnit">
                <section name="TestRunner" 
                         type="System.Configuration.NameValueSectionHandler"/>
            </sectionGroup>
        </configSections>
    
        <NUnit>
            <TestRunner>
                <add key="ApartmentState" value="STA" />
            </TestRunner>
        </NUnit>
    </configuration>
    

    (original source)