没有使用 xUnit DNX 的并行测试

No parallel tests with xUnit DNX

我正在尝试一个接一个地执行我的测试,没有并行。

我试图在我的 xunit.runner.json 文件中配置它,但没有成功:

{
  "maxParallelThreads": 1,
  "parallelizeAssembly": false,
  "parallelizeTestCollections": false,
  "preEnumerateTheories": false
}

我做错了什么?

我在 dnx 1.0.0-rc1-finalxunit 2.1.0xunit.runner.dnx 2.1.0-rc1-build204xunit.runner.json 中的 maxParallelThreads 设置正在命令行中为我工作。

您的测试是否按集合分隔?根据the docs:

By default, each test class is a unique test collection.

所以给定一些像这样的人为 "tests",应该很容易看出它们是否 运行 并行:

有:

{
    "diagnosticMessages": true,
    "maxParallelThreads":  4
}

有:

{
    "diagnosticMessages": true,
    "maxParallelThreads":  1
}

对于那些试图在他们的 .net 核心 (>= 2.1) 项目中禁用并行性的人:

创建xunit.runner.json并在下面写入:

{
  "parallelizeAssembly": false,
  "parallelizeTestCollections": false
}

添加到 csproj:

  <ItemGroup>
    <None Update="xunit.runner.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>

干杯。