C# 如何并行运行测试并遵守顺序(优先级)

C# 如何并行运行测试并遵守顺序(优先级),c#,selenium-webdriver,nunit,nunit-3.0,C#,Selenium Webdriver,Nunit,Nunit 3.0,我并行地执行它们,并且它工作 我按顺序(优先级)执行它们,并且它有效 当我想要组合优先级时,并行性不起作用 例如: 大会:[大会:平行水平(3)] 它们都同时运行,应该是1和2,然后是3 NUNIT 3OrderAttribute仅指示测试开始的点。如果您需要在下一次开始之前完成一个测试,那么如果您按顺序运行测试,这当然很好——但是当您开始在多个线程上运行测试时,您将获得竞争条件(如您所见) 听起来您在这里查找类似于测试依赖项属性功能请求的内容:。请随意添加您对该问题的想法 同时-我建议将[No

我并行地执行它们,并且它工作

我按顺序(优先级)执行它们,并且它有效

当我想要组合优先级时,并行性不起作用

例如:

大会:[大会:平行水平(3)]

它们都同时运行,应该是1和2,然后是3


NUNIT 3

OrderAttribute仅指示测试开始的点。如果您需要在下一次开始之前完成一个测试,那么如果您按顺序运行测试,这当然很好——但是当您开始在多个线程上运行测试时,您将获得竞争条件(如您所见)

听起来您在这里查找类似于测试依赖项属性功能请求的内容:。请随意添加您对该问题的想法


同时-我建议将
[NonParallelizable]
属性添加到此测试夹具。

OrderAttribute仅指示测试开始的点。如果您需要在下一次开始之前完成一个测试,那么如果您按顺序运行测试,这当然很好——但是当您开始在多个线程上运行测试时,您将获得竞争条件(如您所见)

听起来您在这里查找类似于测试依赖项属性功能请求的内容:。请随意添加您对该问题的想法


同时-我建议将
[NonParallelizable]
属性添加到此测试夹具。

您要求并行运行测试(同时),但也要求按顺序运行测试(一个接一个)。这是不可能的,所以NUnit只尊重你的一个要求。NUnit中有许多相互冲突的属性和命令行选项。我们试图就一些不太明显的冲突向您发出警告,但我们无法处理每个组合


如果类中有其他测试希望并行运行,但仍希望遵守少数测试的顺序,请使用ParallelScope.None标记已排序的测试。

您要求并行运行测试(同时),但也要求按顺序运行测试(一个接一个)。这是不可能的,所以NUnit只尊重你的一个要求。NUnit中有许多相互冲突的属性和命令行选项。我们试图就一些不太明显的冲突向您发出警告,但我们无法处理每个组合

如果类中有其他测试希望并行运行,但仍希望遵守少数测试的顺序,请使用ParallelScope.None标记有序测试

[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
    }
}