首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何并行运行我的测试并尊重顺序(优先级)

如何并行运行我的测试并尊重顺序(优先级)
EN

Stack Overflow用户
提问于 2018-04-10 01:58:54
回答 2查看 1.2K关注 0票数 1

我并行地执行它们,它是works

我以顺序(优先级)执行它们,it works

当我想结合优先级+并行不起作用时

示例:

大会:大会: LevelOfParallelism(3)

代码语言:javascript
复制
[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

EN

回答 2

Stack Overflow用户

发布于 2018-04-10 10:52:16

OrderAttribute只指示测试的启动点。如果您需要在下一个测试开始之前完成一个测试,那么如果您是按顺序运行测试的话,这当然可以正常工作--但是当您开始在多个线程上运行测试时,您将得到竞争条件(正如您所看到的)。

听起来像是在寻找类似于特性请求的东西:https://github.com/nunit/nunit/issues/51。可以随意添加你对这个问题的想法。

同时,我建议将[NonParallelizable]属性添加到这个测试夹具中。

票数 3
EN

Stack Overflow用户

发布于 2018-04-10 10:53:47

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

如果要并行运行的类中有其他测试,但仍然希望尊重少数测试的顺序,则使用ParallelScope.None标记有序的测试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49744141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档