You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

标记NonParallelizable的测试中,SetUp方法能否并行执行?

关于NUnit中NonParallelizable特性的执行逻辑问题

我有一个标记了NonParallelizable特性的测试方法,想咨询:前一个测试用例的TestMeth()执行时,当前测试的TestSetup()是否会与其并行运行,是不是只有TestMeth()方法被“锁定”?我注意到NonParallelizable特性可应用于包括TestSetup()在内的各个方法,示例代码如下:

public class TestClass
{
    [SetUp]
    public void TestSetup()
    {
        //some init stuff, which must be done for each test case nonparallel to the running tests/test cases
    }

    [NonParallelizable, TestCaseSource("SomeTestCaseProvider")]
    public void TestMeth()
    {
        //...
    }

}

问题解答

  • 按NUnit的并行执行规则,当测试方法标记NonParallelizable时,整个测试流程(包括该测试对应的SetUp、测试方法本身、TearDown)都会被纳入串行执行范围,不会和其他测试的任何环节并行。
  • 回到你的场景:当前测试的TestSetup()必须等前一个测试用例的TestMeth()完全执行完毕后才会启动,不存在TestSetup()和其他测试的TestMeth()并行运行的情况。
  • 如果你的初始化逻辑确实不能和任何测试操作并行,建议直接给[SetUp]方法也加上NonParallelizable特性,这样约束更明确,也能避免潜在的并行风险。

内容的提问来源于stack exchange,提问作者Rekshino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 16:39:52