小编roc*_*sen的帖子

使用 dotnet-testcontainers 进行 ASP.NET Core 集成测试

我正在尝试按照文档为 aspnetcore v6 webapi 添加一些集成测试 - https://learn.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-6.0#aspnet-core -集成测试

我的 webapi 数据库是 SQLServer。我希望针对实际的 SQLServer 数据库而不是内存数据库运行测试。我遇到了 dotnet-testcontainers - https://github.com/HofmeisterAn/dotnet-testcontainers并考虑使用它,这样我就不需要担心重置数据库,因为一旦运行测试,容器就会被删除。

这就是我打算做的:

  1. 在启动测试 Web 主机之前启动 SQLServer 测试容器。在本例中,测试 Web 主机是使用 WebApplicationFactory 启动的。所以启动的wen主机有一个数据库可以连接。否则服务启动会失败。
  2. 运行测试。该测试将在运行之前添加一些测试数据。
  3. 然后删除 SQLServer 测试容器以及测试 Web 主机的处置。

这样我就可以启动连接到容器中运行的干净数据库的测试 Web 主机,运行测试。

这种方法听起来正确吗?或者是否有人使用 dotnet-testcontainers 来启动容器以进行应用程序测试以及哪种方法有效。

c# integration-testing asp.net-core

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

asp.net-core ×1

c# ×1

integration-testing ×1