簡體   English   中英

如何防止resharper 8與nunit一起運行並行測試?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM