我开始使用 WatiN 来测试我的 Web 界面。我遇到的问题如下:当我从 TestDriven.net 中开始测试时,我没有问题。如果我使用 ReSharper 测试运行程序,我会得到这个可预测的 AppartmentState 异常。
我尝试使用此处描述的不同选项:http ://watin.sourceforge.net/apartmentstateinfo.html#testdriven 。没有什么帮助。
有什么建议么?
我在大多数 watin 测试项目中都使用了 Resharper 测试运行器。要使其工作,请使用与 nunit 相同的方法:
http://watin.sourceforge.net/apartmentstateinfo.html#nunit
应用程序配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="NUnit">
<section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<NUnit>
<TestRunner>
<!-- Valid values are STA,MTA. Others ignored. -->
<add key="ApartmentState" value="STA" />
</TestRunner>
</NUnit>
</configuration>
对于 NUnit 2.5,RequiresSTA属性应该是首选工具。
在 VisualStudio 2010 Ultimate 中使用 Resharper 5.1 我发现我需要更改我的 Resharper 选项以禁用“正在测试的影子复制程序集”(在 Resharper --> 选项 --> 工具 --> 单元测试中找到)。此外,我还发现配置文件的正确命名是包含 dll 扩展名的文件(即:assemblyname.dll.config)。