无法使用Nant运行nunit测试

时间:2012-06-20 10:39:00

标签: nunit nant

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

  

Buildfile:file:/// c:/UItests/nant.build目标框架:   指定的Microsoft .NET Framework 4.0目标:build

     

构建

     

[nunit2] 2012/06/20/13:29:52:设置方法中的异常:   CurrentThread需要将它的ApartmentState设置为Apar   tmentState.STA能够自动化Internet Explorer。 [nunit2]   2012/06/20/13:29:52:设置方法中的异常:CurrentThread   需要将它的ApartmentState设置为Apar tmentState.STA   能够自动化Internet Explorer。 [nunit2] 2012/06/20/13:29:52:   设置方法中的例外:CurrentThread需要拥有它   ApartmentState设置为Apar tmentState.STA以便能够自动化   IE浏览器。 [nunit2] 2012/06/20/13:29:52:集合中的例外情况   up方法:CurrentThread需要将它的ApartmentState设置为   Apar tmentState.STA能够自动化Internet Explorer   [nunit2] 2012/06/20/13:29:52:设置方法中的异常:   CurrentThread需要将它的ApartmentState设置为Apar   tmentState.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>

我错过了什么?

2 个答案:

答案 0 :(得分:1)

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

设置:

[assembly: RequiresSTA]
在AssemblyInfo.cs文件中

答案 1 :(得分:0)

Nant能够运行测试,但TestSetup正在做一些配置不正确的事情。可能尝试编写和运行更简单的测试,如Assert.That( 10+1, Is.Equals(11));并运行它。 如果它有效,那么我认为应该发布问题,详细说明你测试的内容和方式