我有一组需要共享状态的xunit.net测试。希望我希望这些测试能够并行运行。所以,我想亚军的事:在与XUnit.net并行运行的测试之间共享状态
- 使用夹具
当读取的xUnit的文档创建并行所有测试共享夹具
[Collection("Database collection")]
)。但是,当我把我的测试类在同一个夹具,他们不并行运行了,所以它击败目的:( 是否有一个内置的方式做我想做的的xUnit?
我的后备将是把我的共享状态放到一个静态类中
我有一组需要共享状态的xunit.net测试。希望我希望这些测试能够并行运行。所以,我想亚军的事:在与XUnit.net并行运行的测试之间共享状态
当读取的xUnit的文档创建并行所有测试共享夹具
[Collection("Database collection")]
)。但是,当我把我的测试类在同一个夹具,他们不并行运行了,所以它击败目的:( 是否有一个内置的方式做我想做的的xUnit?
我的后备将是把我的共享状态放到一个静态类中
你不想在测试之间共享状态,你只是想共享测试运行所需的设置。在这里做xUnit(有很多例子):http://xunit.github.io/docs/shared-context.html
如果你碰巧使用了Entity Framework,我也在这里写了一些关于它的东西: https://robertengdahl.blogspot.com/2017/01/testing-against-entityframework-using.html
你说得对。我用错了词。我想分享*设置*而不是*状态*。这就是说,如果我们看看你的第一个链接,我想要做的是一个CollectionFixture。要为多个测试类重用**相同的**集合夹具(仅实例化一次),所有测试类必须放置在相同的[集合]中。那么,如果他们在同一个[Collection]中,他们将不会并行运行。 – mabead
对不起,我忘了你想要并行运行这些。由于并行运行不需要相同的灯具实例,因此您可以将灯具实例作为测试类的成员变量,如第二个链接所推荐和显示的那样。您将获得并行测试的速度,以及隔离测试的安全性。 –
你能分享一个你想测试的例子吗? –
例如,我需要在数据库中创建一个用户,并且该用户将以只读模式通过一组将并行运行的测试进行共享。 – mabead