NUnit GUI Runner和Apartment State

时间:2010-03-17 15:17:52

标签: .net testing nunit watin apartment-state

如何在NUnit GUI运行器中设置单元状态?我正在尝试使用WatiN运行一个NUnit测试,我收到消息:

  

MyNamespace.LoginTests.CanLogin:
  System.Threading.ThreadStateException:CurrentThread需要将它的ApartmentState设置为ApartmentState.STA才能自动化Internet Explorer。

2 个答案:

答案 0 :(得分:23)

从NUnit 2.5开始,在测试中使用RequiresSTA属性。

答案 1 :(得分:10)

您需要在程序集的app.config文件中添加一些配置(如果您没有,请创建一个新的)以告诉NUnit以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