SuperAPI AI 工具集

dotnet-integration-testing

测试与质量

查看项目

更新于 10-16 02:33

技能介绍

用途:为 .NET 应用编写使用真实基础设施的集成测试,覆盖进程内 API 测试、容器化一次性基础设施、分布式应用测试与数据库夹具管理。

主要能力:

  1. WebApplicationFactory<TEntryPoint> 创建进程内测试服务器,无需网络开销即可走完整中间件、路由、模型绑定与序列化流程;可用 WithWebHostBuilder 覆盖服务、配置与中间件,并通过自定义 AuthenticationHandler 测试认证授权端点。
  2. Testcontainers 在 Docker 中启动真实数据库、消息代理、缓存,每次运行获得全新可丢弃环境,提供 PostgreSQL、SQL Server、Redis 等模块。
  3. .NET Aspire 的 DistributedApplicationTestingBuilder 测试多服务拓扑,含服务发现、配置与健康检查,可等待资源健康后发起请求。
  4. 数据库夹具模式:事务回滚实现每测试隔离,或用 Respawn 在测试间重置数据。

必要用法:需先通过 dotnet-add-testing 搭建测试项目并引用集成测试包;Docker 守护进程须运行;.NET 8.0+ 基线。Microsoft.AspNetCore.Mvc.Testing 包版本须与目标框架主版本一致(net8.0 用 8.x,net9.0 用 9.x,net10.0 用 10.x)。示例使用 Testcontainers 4.x API,3.x 仅命名空间略有差异。Program 类需对测试项目可见,可设为 public 或添加 InternalsVisibleTo。

适用场景:验证 API 端到端行为、真实数据库读写、多服务编排与认证流程。

限制:不涉及测试项目脚手架、测试策略选择与快照测试,这些由其他技能覆盖。资料未提供收费、价格或效果信息。