锐化器.如何并行运行相同的 NUnit TestFixture 类



有人实现过吗?如果我使用 [Parallelizable] 属性声明[TestFixture]类,则无法与多个浏览器实例 (Selenium) 并行运行此单个测试类。在 Resharper -> 选项 -> 单元测试中添加了多达 4 个程序集,但没有帮助。但是,如果我有几个具有[Parallelizable]属性的不同测试类,则它们将在 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)] 使各个夹具可并行化。这说明"从这一点开始,您可以并行化夹具。

诚然,这是一个相当晦涩的观点。我们应该想办法让它更清楚。

无论如何。。。如果我猜对了,我想我回答了你的问题。如果我没有,也许你可以编辑它,这样我们就有更好的机会提供帮助。

最新更新