C# 有没有办法在specflow上的并行测试中只运行特性?

C# 有没有办法在specflow上的并行测试中只运行特性?,c#,parallel-processing,specflow,C#,Parallel Processing,Specflow,我目前正在做一个项目,在我开发的web应用程序上测试一些功能。它工作得很好,但我需要同时运行这些功能来争取时间 通过更改“testThreadCount”属性,我可以并行运行测试。我的问题是:我的功能是独立的,但我的场景不是。例如: Feature: Test sql insert Scenario: 1 - Insert client on the database Given I insert my credentials And I insert some

我目前正在做一个项目,在我开发的web应用程序上测试一些功能。它工作得很好,但我需要同时运行这些功能来争取时间

通过更改“testThreadCount”属性,我可以并行运行测试。我的问题是:我的功能是独立的,但我的场景不是。例如:

    Feature: Test sql insert

    Scenario: 1 - Insert client on the database
    Given I insert my credentials
    And I insert some data on my sql database
    Then my client gets inserted succesfully

    Scenario: 2 - Check if client exists
    Given The above scenario is succesful
    And I log in on my web application
    When I'm on the dashboard
    Then The client should be there

有没有一种方法可以只运行我的不同功能?当我点击“运行所选测试”时,它会优先考虑完整的功能而不是不同的功能。我需要等待第一个场景完成,然后再运行下一个场景

这样构建场景是非常糟糕的做法,应该尽量避免。如果必须这样做的话。您可以在功能级别启用并行化

如果您使用的是NUnit,则可以在程序集级别添加
[程序集:可并行化(ParallelScope.Fixtures)]

在这种情况下,Xunit默认情况下应该按类或特性并行运行测试。这意味着功能中的所有测试都将连续运行


<>你还是应该考虑重构你的场景,这样它们就不会互相依赖了,我已经走上了那条路,最终变成了一个无法管理的噩梦。 嗯。。。我找到了一个解决办法,设法使它在SpecRun上工作

我只需要一个接一个地运行我的功能,让另一个应用程序来管理交通线路,所以我用Windows窗体开发了一个应用程序来实现这一点


也许这不是解决这个问题的最佳方法,但考虑到我的时间和环境,它做得很好。

我知道这不是最佳做法,但它不是其他方法。我正在使用specrun,但我应该能够实现它。谢谢通过这样做,它可以像梯子一样运行测试。这比完全随机的要好,但我想知道是否有其他方法可以自定义我的测试,以我想要的顺序运行。。。