下一个xUnit测试在IClassFixture

时间:2017-01-06 13:28:02

标签: .net-core xunit

使用" xunit":" 2.2.0-beta4-build3444"使用ASP.NET Core我有两个集成测试,它们使用IClassFixture与同一个数据库表交互并播种一些数据:

// FooTestData inserts two rows in TableA
// In FooTestData.Dispose() the rows are deleted
public class FooTest : IClassFixture<FooTestData>
{
    [Fact]
    public void Test()
    {
        var result = GetAllRowsFromTableA()
        // Assert that result.Count == 2
    }

}

// BarTestData inserts one row in TableA
// In BarTestData.Dispose() the row is deleted
public class BarTest: IClassFixture<BarTestData>
{
    [Fact]
    public void Test()
    {
        // Do something
    }
}

FooTest.Test失败,因为它在调用BarTestData.Dispose()之前启动。如果我一次运行所有测试(不是并行),则数据库中的行数为3。我该如何解决这个问题?

更新似乎测试是并行运行的,即使我告诉他们不要(不选择&#34;在Parallell中运行&#34;在Visual Studio中)

1 个答案:

答案 0 :(得分:1)

https://xunit.github.io/docs/running-tests-in-parallel.html

默认为xunit&gt;无论我告诉Visual Studio做什么,2.0都会在并行运行两个测试。