首页 新闻 会员 周边

使用 TUnit 时如何 Seed Data

0
悬赏园豆:30 [待解决问题]

之前用的是 xUnit.net ,在集成测试中是这样 seed data 的

public class MsgWebApplicationFactory : WebApplicationFactory<Program>
{
    protected override void ConfigureWebHost(IWebHostBuilder builder)
    {
        builder.Configure(app =>
        {
            var context = app.ApplicationServices.GetRequiredService<MessageContext>();
            context.SeedDataAsync().Wait();
        });
    }
}

现在迁移到 TUnit,有没有更好的方法进行 seed data?

dudu的主页 dudu | 高人七级 | 园豆:22899
提问于:2026-04-22 21:23
< >
分享
所有回答(1)
0

TUnit 中可以在 class 或 assembly 级别使用 [BeforeAll] 做 seed。对于 WebApplicationFactory 场景,推荐在测试类的 [BeforeAll] 里直接调用 seed 方法并等待完成;或者抽取为共享的 [ModuleInitializer] 方法让所有集成测试复用。如果需要每个测试后清理,配合 [AfterAll]IAsyncDisposable 处理即

whiter001 | 园豆:216 (菜鸟二级) | 2026-04-29 14:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册