XUnit实现多个测试类共享一个上下文
1. 场景:
写测试代码时希望多个测试类都使用相同的测试上下文
2. 实现:
2.1:建一个共享的上下文,可以包含初始化代码和销毁的代码
public class DatabaseFixture : IDisposable
{
public DatabaseFixture()
{
setUpData();
}
public void Dispose()
{
cleanData();
}
}
2.2:建一个集成自ICollectionFixture泛型接口的实现类,贴上CollectionDefinition标签,取个唯一的名字
[CollectionDefinition("xx")] public class DatabaseCollection : ICollectionFixture<DatabaseFixture> { }
2.3:给测试类贴标签Collection,并使用2.2中标签取的名字
[Collection("xx")]
public class ClassAUnitTests
3. 注意的点:
在使用collection definitions这个特性时, 第一部分代码必须和测试类在同一个程序集
4. 文档地址:
https://xunit.github.io/docs/shared-context

浙公网安备 33010602011771号