如何在NUnit GUI运行器中设置单元状态?我正在尝试使用WatiN运行一个NUnit测试,我收到消息:
MyNamespace.LoginTests.CanLogin:
System.Threading.ThreadStateException:CurrentThread需要将它的ApartmentState设置为ApartmentState.STA才能自动化Internet Explorer。
答案 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>