跳至正文
← 全部技术洞察

TECHNICAL INSIGHTS / 技术洞察

.NET 集成测试应该覆盖什么,才能支持服务独立发布?

单元测试全部通过,服务上线后仍可能因为字段变化、数据库约束或认证配置失败。支持独立发布的测试需要覆盖服务对外承诺与关键依赖,而不是只证明内部方法按当前实现相互调用。

按失败影响选择场景

优先覆盖创建、修改和查询等关键业务闭环,以及权限拒绝、重复请求和依赖异常。测试数据应包含边界状态和历史兼容情况,不能只有最理想的一条记录。

契约测试关注消费者可见行为

检查请求和响应结构、必需字段、错误码及兼容约定。不要把消费者内部实现复制到提供方测试里。需要对实际使用方保留代表性样本,防止自写自测只验证了自己的假设。

环境差异不能完全交给模拟对象

数据库约束、事务和查询翻译通常需要适合的集成环境验证。外部付费接口可以使用受控替身,但要说明替身没有覆盖的行为,并保留上线前的真实连通性检查。

验收一次独立升级

提供方升级后,让支持期内的消费者运行测试;消费者升级时也验证旧服务兼容。测试失败应能说明业务影响,避免一大批脆弱断言让团队习惯忽略结果。

常见问题:是否需要每次都启动全部微服务测试?

不一定。可以分层验证,关键契约与少量端到端流程配合使用,减少环境维护成本。

技术参考:微软:防腐层模式。具体接口与配置请结合使用版本核对。

将评估落实到你的系统

如果内部团队需要把这些约定落到可运行的工程中,可以通过微服务基础架构建设沟通接口、公共能力与交接范围,先以一个业务场景验证方案。