testcontainers-integration-testing
>
它会碰到什么
扫了多少2 个文本文件,1 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Testcontainers Integration Testing
用途
- 把“依赖共享测试环境”收敛成“本地或 CI 可重复启动的临时依赖环境”。
- 适合数据库、Redis、MQ、对象存储、搜索引擎或浏览器依赖的集成验证。
默认做法
- 先明确要验证的真实依赖和关键行为,不要把所有外部系统都塞进同一个大而慢的集成测试。
- 优先为高风险链路建立容器化验证,例如 repository 查询语义、事务回滚、消息收发、缓存一致性、数据库迁移和真实协议交互。
- 容器镜像、端口、等待条件和初始化数据都要显式写进测试,不依赖共享环境中的隐式前置状态。
- 让测试自己启动依赖、执行验证、清理资源;不要要求执行者手工先起一套本地服务再跑测试。
- 只把 Testcontainers 用在“接近真实行为才有价值”的场景;纯逻辑和普通 service 分支仍优先走单元测试。
触发信号
- 改动涉及数据库、缓存、消息、搜索或对象存储等真实依赖。
- 单元测试通过了,但仍无法证明事务、SQL、序列化、连接配置或依赖编排是对的。
- 当前验证严重依赖共享环境、手工准备测试数据或“本地我起过服务所以能跑”。
- 团队需要在 CI 中稳定重放一次接近真实依赖的关键链路。
配套约束
- 先遵循 [rules/java/testing.md](../../../rules/java/testing.md) 的 Java 测试重点,再决定是否需要引入容器化验证。
- 对纯逻辑、参数分支和普通 service 规则,优先继续使用 [java-unit-test](../java-unit-test/SKILL.md)。
- 需要把编译、单测、启动和静态分析收口时,配合 [maven-qa](../maven-qa/SKILL.md) 一起使用。
- 若测试依赖 Docker / Podman 等容器运行时,必须在输出中说明执行前提;环境缺失时不要伪造“测试已通过”。
- Testcontainers 不能替代发布前环境验证;若变更仍有部署、网络或配置差异风险,继续回到
/team-review与/team-release说明。
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
星标★ 1,027
本站分层T1
该仓技能数1910
原文件路径
plugins/Colin4k1024/tsp/skills/testcontainers-integration-testing/SKILL.md