[英]how do I prevent resharper 8 from running parallel tests with nunit?
我在VS2013中使用Resharper 8運行測試,它與外部進程集成並重定向其輸出。 我不是在尋找有資格作為單元測試的指導,因為我發現測試運行器對於任何測試都比控制台應用程序更好。
這個過程是一個數據庫,所以我的SetUp和TearDown方法毫不奇怪地做了彼此的對立面,如果允許並發運行,它們絕對會互相踩踏。
他們沒有相互踩踏,因為每當兩次測試同時開始時,他們就會鎖定。
Resharper的最新版本7沒有這個問題。
在Resharper>選項>單元測試中修改單元測試設置沒有幫助。
如何連續運行NUnit測試夾具? - 接近工作。
在我的測試夾具基礎上(我總是在派生的SetUp的開頭運行base.SetUp()
),我添加了以下內容:
[SetUp]
protected virtual void SetUp()
{
FixtureHandle.Wait();
}
[TearDown]
protected virtual void TearDown()
{
FixtureHandle.Set();
}
FixtureHandle
是一個ManualResetEvent
。 這可以防止NUnit過於善良和快速。
上面的答案來自@ nik.shornikov,但是在Resharper 2016.2及更高版本(也可能在早期版本中),您可以通過選項執行此操作,而無需編寫任何代碼。 請參閱我的回答有沒有辦法*防止* ReSharper並行運行程序集的單元測試? 了解詳情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.