【发布时间】:2020-08-31 15:14:49
【问题描述】:
我想并行运行 NUUnit 测试,因为我有大量的等待条件,最终会以顺序方式进行大量长时间的测试运行。下面概述的这种简化结构适合我的所有需求,但是,当我调用 TestParallel 方法时,NUnit 似乎正在对断言进行分组
public class Tests
{
[Test]
public void Test1()
{
Assert.Fail("Test1 Failure");
}
[Test]
public void Test2()
{
Thread.Sleep(1000);
Assert.Fail("Test2 Failure");
}
[Test]
public void TestParallel()
{
var toRun = new Task[]
{
Task.Run(() => Test1()),
Task.Run(() => Test2())
};
Task.WaitAll(toRun);
}
}
两个测试都按预期失败,但是第二个失败的测试也显示第一个失败的测试断言异常,如下所示:
NUnit.Framework.AssertionException: 'Multiple failures or warnings in test:
1) Test1 Failure
2) Test2 Failure
'
我有哪些选择可以避免这种行为?
【问题讨论】:
标签: c# multithreading unit-testing nunit