使用 ASP.NET Core 和 NUnit 实施集成测试

Implement Integration Testing with ASP.NET Core and NUnit

我刚开始使用 Asp 核心 2.2 的 NUnit 集成测试,我已经有核心 RESTful Api 但不知道如何配置 NUnit 以实现集成测试。 通常我使用迁移文件夹中的配置文件实现它,如下所示,但 ASP Core 2.2 中不再存在,我不知道新的替代方案是什么。

        var configuration = new Migrations.ApplicationDbContextModelSnapshot();
        var migrator = new Migrator(configuration);
        migrator.Update();

所以,如果您不明白我的问题,我只需要一个明确的 link 来将 NUnit 集成测试与 .Net Core 2.2 一起使用。

集成测试应该连接到真实的数据库。集成测试是关于确保组件一起正确运行,而不是任何具体的后端实现。因此,您应该使用 EF Core 的内存数据库提供程序。这将自动 "migrate" (实际上它只是在每次实例化时设置您的数据库在内存中的表现形式),因此无需采取任何进一步的操作。 请记住,EF-in-memory 数据库也是一个非关系数据库,因此如果您想保持实体(如外键)的关系完整性,您应该使用 SqlLite 内存数据库。下面是一个例子:

var connection = new SqliteConnection("Data Source=:memory:");
services.AddDbContext<WebApi1DbContext>(options => options.UseSqlite(connection));