我試圖讓我們的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