.net core 2.2 项目 运行 "dotnet test" 时如何将 "workers" 参数传递给 nunit runner

How to pass "workers" parameter to nunit runner when running "dotnet test" for a .net core 2.2 project

目前,对于我们的 selenium UI 测试,我们正在阅读可用的 selenium 服务器浏览器来决定我们将 运行 测试的线程数,并且我们通过 "workers"启动nunit控制台时的参数运行ner。

我现在正在将我们的自动化迁移到 .net 核心。不幸的是,nunit 控制台还不支持 .net 核心,我们现在使用 "dotnet test" 命令来 运行 测试,这仍然是 运行 的 nunit 测试。

找了很多,没找到怎么给nunit传递"workers"参数? "dotnet test" 线程还有其他参数,但它们不允许您 运行 线程数多于 cpu 内核数。请注意,我不想对 assemblyInfo 中的线程数进行硬编码,因为我们经常在每个 运行 中使用不同数量的线程,具体取决于测试所针对的 selenium 服务器 运行 .

我尝试在 运行 测试命令时使用 .运行settings 设置文件,但似乎也没有检测到参数。我最终得到的是一个测试 运行,线程数等于机器上 cpu 个内核的数量,但我需要比这更多的线程。

版本:

根据https://github.com/nunit/docs/wiki/Tips-And-Tricks#NumberOfTestWorkers,您可以使用设置 NumberOfTestWorkers 来设置工作人员的数量。

您可以通过两种方式完成此操作:在 .runsetting 文件中设置它并使用 --settings 选项传递它,或者您可以在命令行中在“--”分隔符之后传递键值对。

dotnet test Project.csproj -- NUnit.NumberOfTestWorkers=10

I tried using the .runsettings settings file when running the test command, but it seemed the parameter was not detected there too.

要使其正常工作,您只需检查您的项目是否引用了 NUnit3TestAdapter 以及您的 .runsettings 文件是否具有像这样的正确结构。

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
    <NUnit>
        <NumberOfTestWorkers>10</NumberOfTestWorkers>
    </NUnit>
</RunSettings>