我有一组测试,每个测试之前都需要进行一些设置。该设置要求我异步运行它,我特别不想将异步代码放在构造函数中运行,xunit
建议这样做public class Tests
{
private async Task SetupForEachTestAsync()
{
// await setup
}
public Tests()
{
SetupForEachTestAsync.GetAwaiter().GetResult();
}
[Fact]
public void Test1()
{
// My test
}
[Fact]
public void Test2()
{
// My test
}
}
关于如何改善这一点的任何建议?
答案 0 :(得分:2)
实现 xUnit 的 IAsyncLifetime
接口。它定义了 InitializeAsync
和 DisposeAsync
,它们将分别在构造之后和处置之前立即调用。