我试图让我们的specflow watin测试运行在我们的新teamcity服务器上。问题是,我不能让内置的nunit runner在appartmentstate STA中运行测试。TeamCity SpecFlow NUnit Watin和ApartmentState STA
我们使用这种配置早些时候,这与其他testrunners工作:
<NUnit>
<TestRunner>
<add key="ApartmentState" value="STA" />
</TestRunner>
</NUnit>
但TeamCity的NUnit的测试运行似乎没有拿起这个配置。我们还有其他的配置健全性测试,所以我们知道测试人员至少读取我们测试项目的配置。
有使用RequiresSTA属性,像这样的选择:
[Test, RequiresSTA]
public void ShouldRunThreadApartmentStateSTAWith()
{
Assert.AreEqual(ApartmentState.STA, Thread.CurrentThread.GetApartmentState());
}
但由于NUnit的测试由SpecFlow产生的,我并没有对这些属性是如何设置的控制。
我怎样才能使这个设置工作?
谢谢。为我解决问题。我正在使用NUnit,Specflow和NCrunch,并且有STA线程问题。我尝试通过[assembly:RequiresSTA]/[assembly:Apartment(ApartmentState.STA)]添加属性,但这不起作用。然而,添加[Apartment(ApartmentState.STA)]确实有效。 – pandrew