测试与交付证据
分清契约测试、数据库、应用 HTTP 与前端端到端证据。
浏览全部手册
本页目录
文档来源与 Markdown 原文
权威正文:ineed-core/docs/standards/testing.md。网站按工作区快照同步,原文中的历史日期和验证范围保留。
开始编码前核对同版本源码;跨仓文件引用可在源码定位目录查找。
下载 Markdown 原文 ↓规则 CORE-TEST-001。当前测试使用 JUnit Jupiter、Spring Test 与响应式测试工具,依赖版本由 parent/POM 解析。业务场景详细要求见业务集成测试指南。
分层报告
| 层级 | 证明什么 | 不单独证明什么 |
|---|---|---|
| 编译 | 类型、依赖、生成源码可用 | 业务行为正确 |
| 契约/单元 | 能力组合、生命周期、上下文、算法 | 真实 SQL、Spring 装配、权限代理 |
| 持久化集成 | 真数据库映射、约束、过滤、事务 | HTTP 安全与前端流程 |
| 应用集成 | Spring 装配、实际 HTTP、身份与权限 | 浏览器操作完成 |
| 前端 E2E | 实际用户流程 | 所有后端边界组合 |
测试中 new Service(...) 不会自动具备事务或安全代理;Map/mock 仓储不证明真实数据库行为。不要根据类名含 Integration 就推断覆盖范围。
Core 验证命令
工作目录为 Core 根目录;工具链见环境准备。运行所有 Core 测试:
mvn test
与文档关键行为相关的定向入口:
mvn -pl ineed-core-tests/ineed-core-test-webmvc,ineed-core-tests/ineed-core-test-webflux \
-am '-Dtest=*BusinessChainTest,*Tenant*Test,*ServiceCache*Test,*IntegrationEvent*Test' \
-Dsurefire.failIfNoSpecifiedTests=false test
运行基础契约模块:
mvn -pl ineed-core-base -am test
-Dsurefire.failIfNoSpecifiedTests=false 允许上游模块没有匹配类;执行后仍须汇总目标 target/surefire-reports/TEST-*.xml,确认目标测试实际运行,不能接受零测试的假通过。避免把历史报告混入本次统计。
新测试应该断言什么
按业务结果命名用例,正向场景与错误路径配对。多表动作验证回滚与最终持久化;关系操作验证读取、替换、清空和删除过滤;租户与权限验证拒绝后无数据变化。
响应式使用 StepVerifier 或明确的订阅断言:创建 Publisher 不提前执行,订阅后完成或错误。同步与响应式场景表达同一业务语义。
修改小范围文档或风格不要求全量业务回归;修改公共生命周期、租户、事务或接口时扩大到受影响的框架与业务验证。
CI 与覆盖率
本仓当前未发现已纳入版本控制的 .github/workflows CI 工作流,也未在本次核查范围发现统一覆盖率阈值;不虚构百分比门槛。团队接入 CI 时先执行文档检查、样例所在模块编译和必要行为测试,再按环境提供数据库层验证。
本轮执行证据见验证记录。部署环境和未执行的数据库/HTTP 场景必须单独标注。
仍有疑问?按反馈清单整理复现信息 →