我并行地执行它们,它是works。
我以顺序(优先级)执行它们,it works
当我想结合优先级+并行不起作用时
示例:
大会:大会: LevelOfParallelism(3)
[TestFixture]
[Parallelizable(ParallelScope.Children)]
public class Tests
{
[Test, Order(1)]
public void Test1()
{
//1
}
[Test, Order(1)]
public void Test2()
{
//2
}
[Test, Order(2)]
public void Test3()
{
//3
}
}他们同时跑,应该是1和2,然后是3。
NUNIT 3
发布于 2018-04-10 10:52:16
OrderAttribute只指示测试的启动点。如果您需要在下一个测试开始之前完成一个测试,那么如果您是按顺序运行测试的话,这当然可以正常工作--但是当您开始在多个线程上运行测试时,您将得到竞争条件(正如您所看到的)。
听起来像是在寻找类似于特性请求的东西:https://github.com/nunit/nunit/issues/51。可以随意添加你对这个问题的想法。
同时,我建议将[NonParallelizable]属性添加到这个测试夹具中。
发布于 2018-04-10 10:53:47
您要求并行(同时)运行测试,但也要求按顺序(一个接一个)运行测试。这是不可能的,所以NUnit只尊重你的一个要求。在NUnit中有许多相互冲突的属性和命令行选项。我们试图警告你一些不太明显的冲突,但我们不能处理每一个组合。
如果要并行运行的类中有其他测试,但仍然希望尊重少数测试的顺序,则使用ParallelScope.None标记有序的测试。
https://stackoverflow.com/questions/49744141
复制相似问题