如何防止锐化器 8 使用 NUNIT 运行并行测试

本文关键字:NUNIT 运行 并行 测试 使用 何防止 锐化 | 更新日期: 2023-09-27 18:36:53

我在VS2013中使用Resharper 8运行测试,该测试与外部进程集成并重定向其输出。我不是在寻求有关什么是单元测试的指导,因为我发现测试运行程序对于任何测试来说都是比控制台应用更好的驱动程序。

这个过程是一个数据库,所以我的设置和拆卸方法毫不奇怪地做到了彼此的相反,如果允许并发运行,绝对会相互踩踏。

他们不能互相踩到对方,因为每当两个测试同时由运行启动时,它们就会锁定。

最新版本 7 的 Resharper 没有这个问题。

修改 Resharper> 选项>单元测试中的单元测试设置没有帮助。

如何防止锐化器 8 使用 NUNIT 运行并行测试

如何连续运行 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并行运行程序集的单元测试?了解完整详情。