在dotnet core中使用Xunit顺序执行测试

Tha*_*yen 4 c# xunit sequential .net-core

我想按顺序运行我的测试,因为它们更改同一数据库并且可能会相互影响。我在互联网上尝试了很多解决方案,但没有一个适合我。这些解决方案在链接“串行执行单元测试(而不是并行) ”中进行了描述。我现在有点卡住了。有人对这个问题有一些想法吗?

Fab*_*bio 6

来自文档:

默认情况下,每个测试类都是一个唯一的测试集合。
同一测试类中的测试不会相互并行运行。

针对不同班级的测试

如果我们需要指示多个测试类不应彼此并行运行,那么我们将它们放入同一个测试集合中。
这只是用一个属性装饰每个测试类,将它们放入同一个唯一命名的测试集合中

[Collection("Database tests")]
public class DeleteTests
{
    [Fact]
    public void RemovesItemFromDatabase()
    {
        // test
    }
}

[Collection("Database tests")]
public class InsertTests
{
    [Fact]
    public void InsertsItemToDatabase()
    {
        // test
    }
}
Run Code Online (Sandbox Code Playgroud)

  • Thanh Binh Nguyen,哪种解决方案最终对您有效? (3认同)