锐器。如何并行 运行 相同的 NUnit TestFixture class?
Resharper. How to run the same NUnit TestFixture class in parallel?
有人实现了吗?如果我用 [Parallelizable]
属性声明 [TestFixture]
class,我将无法 运行 这个单一测试 class 与多个浏览器实例 (Selenium) 并行。在 Resharper -> 选项 -> 单元测试中最多添加 4 个程序集,但没有帮助。但是,如果我有多个具有 [Parallelizable]
属性的不同测试 class,它们会像 R# 单元测试控制台中预期的那样并行 运行。我错过了什么重要的点吗?
你的问题缺少一些细节,所以我假设你有类似...
[Parallelizable]
[TestFixture("browser1")]
[TestFixture("browser2")]
[TestFixture("browser3")]
public class MyTestClass
{
public MyTestClass(string browserName) { ... }
...
}
这将创建这样的测试结构...
MyTestClass
MyTestClass("browser1")
MyTestClass("browser2")
MyTestClass("browser3")
也就是说,您将获得一个包含三个夹具实例的测试套件。当然,每个固定装置依次包含您编写的任何测试。
[Parallelizable]
属性适用于套件,不适用于单个测试。该套件能够 运行 与其他可并行化的套件、装置和测试并行。但是套件中的各个固定装置不可并行化。
在我的示例中,我可以使用 [Parallelizable(ParallelScope.Fixtures)]
使各个固定装置可并行化。也就是说 "From this point downward, you can parallelize fixtures."
诚然,这是一个相当晦涩的问题。我们应该想办法让它更清楚。
无论如何...如果我猜对了,我想我回答了你的问题。如果我没有,也许您可以对其进行编辑,以便我们更好地提供帮助。
有人实现了吗?如果我用 [Parallelizable]
属性声明 [TestFixture]
class,我将无法 运行 这个单一测试 class 与多个浏览器实例 (Selenium) 并行。在 Resharper -> 选项 -> 单元测试中最多添加 4 个程序集,但没有帮助。但是,如果我有多个具有 [Parallelizable]
属性的不同测试 class,它们会像 R# 单元测试控制台中预期的那样并行 运行。我错过了什么重要的点吗?
你的问题缺少一些细节,所以我假设你有类似...
[Parallelizable]
[TestFixture("browser1")]
[TestFixture("browser2")]
[TestFixture("browser3")]
public class MyTestClass
{
public MyTestClass(string browserName) { ... }
...
}
这将创建这样的测试结构...
MyTestClass
MyTestClass("browser1")
MyTestClass("browser2")
MyTestClass("browser3")
也就是说,您将获得一个包含三个夹具实例的测试套件。当然,每个固定装置依次包含您编写的任何测试。
[Parallelizable]
属性适用于套件,不适用于单个测试。该套件能够 运行 与其他可并行化的套件、装置和测试并行。但是套件中的各个固定装置不可并行化。
在我的示例中,我可以使用 [Parallelizable(ParallelScope.Fixtures)]
使各个固定装置可并行化。也就是说 "From this point downward, you can parallelize fixtures."
诚然,这是一个相当晦涩的问题。我们应该想办法让它更清楚。
无论如何...如果我猜对了,我想我回答了你的问题。如果我没有,也许您可以对其进行编辑,以便我们更好地提供帮助。