1

我正在尝试使用 nant 启动 nunit ui 测试并得到错误:

构建文件:file:///c:/UItests/nant.build 目标框架:Microsoft .NET Framework 4.0 指定目标:构建

建造:

[nunit2] 2012/06/20/13:29:52:设置方法中的异常:CurrentThread 需要将其 ApartmentState 设置为 ApartmentState.STA 才能使 Internet Explorer 自动化。[nunit2] 2012/06/20/13:29:52:设置方法中的异常:CurrentThread 需要将其 ApartmentState 设置为 ApartmentState.STA 才能使 Internet Explorer 自动化。[nunit2] 2012/06/20/13:29:52:设置方法中的异常:CurrentThread 需要将其 ApartmentState 设置为 ApartmentState.STA 才能使 Internet Explorer 自动化。[nunit2] 2012/06/20/13:29:52:设置方法中的异常:CurrentThread 需要将其 ApartmentState 设置为 ApartmentState.STA 才能使 Internet Explorer 自动化。
[nunit2] 2012/06/20/13:29:52:设置方法中的异常:CurrentThread 需要将其 ApartmentState 设置为 ApartmentState.STA 才能使 Internet Explorer 自动化。

我尝试使用我的项目附带的 App.config,如下所示:

<test assemblyname="UITests.dll" appconfig="UITests.dll.config" />

而且我还手动创建了配置文件并将其放入包含 test 和 nunit 程序集的文件夹中。但没有任何帮助。在配置文件中我有:

 <add key="ApartmentState" value="STA" />

这是 nant.build 文件:

 <?xml version="1.0"?>
 <project name="UITests" default="build">
 <property name="build.dir" value="" />
 <target name="build">
  <nunit2>
<formatter type="Plain" />
<test assemblyname="${build.dir}UITests.dll" appconfig="UITests.dll.config" />
  </nunit2>
</target>
</project>

我错过了什么?

4

2 回答 2

1

一种可能且简单的解决方案:

设置这个:

[assembly: RequiresSTA]

在 AssemblyInfo.cs 文件中。

于 2012-08-20T09:01:07.730 回答
0

Nant 能够运行测试,但 TestSetup 正在执行未正确配置的操作。可能尝试编写和运行一个更简单的测试,例如Assert.That( 10+1, Is.Equals(11));并运行它。如果它有效,那么我认为应该发布问题,并详细说明您正在测试什么以及如何测试

于 2012-06-25T10:52:01.617 回答