我有一堆集成测试,它们需要与数据库交互,因此需要按顺序运行。只要在给定时刻最多运行一个测试,执行测试的顺序就无关紧要。根据{{3}},这可以通过将测试分组到一个集合中来实现。但是,并非我的所有测试都共享同一夹具,因此我至少需要两个集合:
[CollectionDefinition("Collection A")]
public class CollectionA : ICollectionFixture<CollectionAFixture>
{
}
[CollectionDefinition("Collection B")]
public class CollectionB: ICollectionFixture<CollectionBFixture>
{
}
使用此设置,来自集合A的测试与来自集合B的测试同时运行,这会导致竞争状况。
我的问题:是否可以指定两个集合中的测试应顺序运行,就像它们都属于单个集合一样?
我知道可以使用xUnit控制台运行器禁用并行性。但是,我宁愿在源代码中解决此问题,因此其他开发人员无需调整其配置。