【问题标题】:How to run parallel test using NUnit in visual studio如何在 Visual Studio 中使用 NUnit 运行并行测试
【发布时间】:2018-04-19 01:29:17
【问题描述】:
我正在尝试使用 NUnit3Test 适配器和 .runsettings 文件在 Visual Studio 中使用 NUnit 和 C# 进行并行测试。它基本上是来自 Souce Labs 的这个示例,我无法与 NUnit3Test 适配器并行运行,而不是使用控制台。
根据 NUnit 文档(https://github.com/nunit/docs/wiki/Tips-And-Tricks)is 应该足以在项目中有一个 .runsettings 文件并在那里配置工作人员的数量。
我试过了,但测试仍在按顺序运行。
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<NUnit>
<NumberOfTestWorkers>4</NumberOfTestWorkers>
</NUnit>
</RunSettings>
有什么想法是错的吗?
【问题讨论】:
标签:
visual-studio
selenium
nunit
【解决方案1】:
“提示和技巧”条目是适配器用户的信息。它告诉您在适配器下配置测试的并行性可能需要做什么除了 nunit 框架本身涉及的一般步骤,并假设您已阅读有关并行执行的所有文档.
默认情况下,nunit 框架不并行运行。 ParallelizableAttribute 可用于告诉它并行运行特定的测试方法或夹具。如果您非常确定所有测试都能够并行运行,它甚至可以在汇编级别使用。
最后一点值得强调!当您将[Parallelizable] 应用于测试时,您是在告诉框架该特定测试能够并行运行——它不会干扰任何其他测试。 NUnit 假设你知道你在说什么。它将在单独的线程上运行该测试以及其他可并行化的测试即使由于测试的编写方式而导致问题。
因此,您应该首先选择一些测试并将它们标记为可并行化。使测试无法并行运行的主要原因是它与其他测试共享非只读状态。
您在.runsettings 文件中提供的信息是完全可选的。如果您未指定,NUnit 将使用工作线程数的默认值。主要是属性的使用。