我试图让我们的 specflow watin 测试在我们新的 teamcity 服务器上运行。问题是我无法让内置的 nunit 运行器在 appartmentstate STA 中运行测试。
我们之前使用了这个配置,它适用于其他测试运行器:
<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 生成的,所以我无法控制这些属性的设置方式。
我怎样才能让这个设置工作?