用途:该技能面向 .NET 项目,指导使用 Testcontainers for .NET(4.10.0+)编写集成测试。它提供轻量、一次性的数据库、消息队列、浏览器等 Docker 容器实例,避免在集成测试中模拟外部依赖。
主要能力:支持 65+ 预配置模块,覆盖数据库(PostgreSQL、SQL Server、MySQL、MongoDB、Redis 等)、消息队列(Kafka、RabbitMQ、NATS 等)、搜索与存储(Elasticsearch、Minio、Qdrant 等)、云与基础设施(Azurite、LocalStack、Consul、Vault 等)及开发工具(WebDriver、Keycloak、MockServer 等)。可配置网络、卷、环境变量,管理清理与资源,并排查容器问题。
使用方式:先安装 Docker 或 Podman 并运行,需 .NET 8.0+ 及 xUnit、NUnit 或 MSTest。优先使用模块,无模块时用 ContainerBuilder 并显式定义等待策略。安装示例:dotnet add package Testcontainers.PostgreSql;dotnet add package Npgsql;运行 dotnet test。模块提供 GetConnectionString()、GetBootstrapAddress() 等辅助方法,支持构建器配置数据库、脚本映射、命令、环境变量、端口绑定与等待策略。
适用场景:需要真实服务、多版本依赖、可复现测试环境或临时测试基础设施的集成测试。
限制:需可访问容器运行时;固定端口与绑定挂载不推荐;通用容器必须设置等待策略;并行与 CI 约束需自行评估。部分细节资料暂未提供。