BuddyJoe
BuddyJoe

Reputation: 71141

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.

Upvotes: 10

Views: 3338

Answers (2)

GregC
GregC

Reputation: 8007

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

Upvotes: 23

adrianbanks
adrianbanks

Reputation: 83004

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)

Upvotes: 10

Related Questions