Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 932
BuddyJoe Avatar asked Mar 17 '10 15:03

BuddyJoe


2 Answers

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

like image 70
GregC Avatar answered Nov 06 '22 21:11

GregC


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)

like image 20
adrianbanks Avatar answered Nov 06 '22 19:11

adrianbanks