有没有办法在 xunit 测试 class 中的每个测试之前异步 运行 设置方法?

Is there a way to run a setup method asynchronously before every test in an xunit test class?

我有一组测试,每次测试前都需要进行一些设置。该设置要求我 运行 它是异步的,我并不是特别想将异步代码 运行ning 放在构造函数中,这是 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
    }
}

有什么改进建议吗?

实现 xUnit 的 IAsyncLifetime 接口。它定义了 InitializeAsyncDisposeAsync ,它们将分别在构造之后和处置之前立即调用。