首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从命令行并行运行NUnit测试?

如何从命令行并行运行NUnit测试?
EN

Stack Overflow用户
提问于 2020-06-15 11:49:11
回答 1查看 2.5K关注 0票数 2

我的NUnit测试是用C#编写的,它是使用.net内核3.1构建的。我试着在里面并行运行测试。我知道我可以像这个可重复化(ParallelScope.Fixtures)那样在固定的级别上设置可参数化的属性。但是,这不是我要找的。我想使用"dotnet测试“从命令行运行测试。

所以,我只是想看看有没有办法像这样跑

代码语言:javascript
运行
复制
   dotnet test --parallel FullyQualifiedName~NUnitNamespace.UnitTest1

   dotnet test --parallel C:\NUnitTestDemo\bin\Debug\netcoreapp3.1\testproject.dll
EN

回答 1

Stack Overflow用户

发布于 2020-06-15 16:44:07

命令行中的任何内容都必须传递给NUnit。NUnit允许使用传入的参数限制并行性,但它不允许强制并行运行。

如果你想一想,那是合乎逻辑的。

属性是[Parallelizable],其中“可实现”的意思是“有能力”。测试作者使用该属性告诉NUnit,特定的测试是能够并行运行的支持的。没有这种保证,NUnit就无法知道测试是否足够独立于其他测试,从而运行时不会出现错误或错误。

因此,在测试中,您可以告诉NUnit,它是否能够并行运行所有或部分测试。理论上,NUnit可以并行或不并行地运行它们,但是实际上,如果可能的话,它可以并行运行测试,直到并行测试工作者的指定限制。该限制可以由程序集级别的属性指定,也可以由运行程序指定。

如果使用NUnit控制台运行程序运行,则使用-workers选项设置限制。使用dotnet测试时,需要使用.runsettings设置在NumberOfTestworkers文件中指定它。若要完全抑制并行性,请使用值0。1的值会抑制大多数并行性,但如果一个在STA中,一个在MTA中,则仍然允许同时运行测试。

有关可以使用的设置列表,请参见https://github.com/nunit/docs/wiki/Tips-And-Tricks

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

https://stackoverflow.com/questions/62387582

复制
相关文章

相似问题

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