我的NUnit测试是用C#编写的,它是使用.net内核3.1构建的。我试着在里面并行运行测试。我知道我可以像这个可重复化(ParallelScope.Fixtures)那样在固定的级别上设置可参数化的属性。但是,这不是我要找的。我想使用"dotnet测试“从命令行运行测试。
所以,我只是想看看有没有办法像这样跑
dotnet test --parallel FullyQualifiedName~NUnitNamespace.UnitTest1
dotnet test --parallel C:\NUnitTestDemo\bin\Debug\netcoreapp3.1\testproject.dll
发布于 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。
https://stackoverflow.com/questions/62387582
复制相似问题