Question

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.

Was it helpful?

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)

OTHER TIPS

Starting with NUnit 2.5, use RequiresSTA attribute in your tests.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top