我正在尝试用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>
我错过了什么?
答案 0 :(得分:1)
一种可能而简单的解决方案:
设置:
[assembly: RequiresSTA]
在AssemblyInfo.cs文件中。
答案 1 :(得分:0)
Nant能够运行测试,但TestSetup正在做一些配置不正确的事情。可能尝试编写和运行更简单的测试,如Assert.That( 10+1, Is.Equals(11));
并运行它。
如果它有效,那么我认为应该发布问题,详细说明你测试的内容和方式