我正在使用NUnit 3.5.0。根据{{3}},如果您有多个测试程序集,默认情况下自动并行运行 。
它继续告诉您如何从命令行限制并行进程的数量。但是,如何从Visual Studio中关闭并行处理?
背景:我有15种不同的测试组件(超过6500次测试),将它们组合成一个组件只是为了使它们串行运行是不切实际的。有几个测试具有一些共享状态,需要在下一个测试运行之前进行清理。我只是想像在NUnit 2.6中那样连续运行测试,但我不能降级,因为我需要支持.NET Core。
答案 0 :(得分:2)
我没有测试过下面的任何内容,但这是我认为发生的事情。
NUnit测试适配器实际上在运行中运行测试 - 这不涉及组件的并行化。您链接到的页面是指NUnit Engine,它是适配器使用的基础库。适配器为引擎指定“运行中”模式。
我想这是因为VS每个程序集调用一个进程 - 我不确定NUnit引擎是否会对使用外部进程感到满意。 NUnit引擎的构建是相信它正在控制所有进程,而不是其他东西(这里是:VS) - 调用引擎的多个实例。
相反,我认为你需要控制VS的并行化。这是通过.runsettings file管理的 - 尝试将MaxCpuCount
设置为1。