前端知库

什么时候应该 mock,mock 太多有什么问题?

参考答案

mock 适合控制外部网络、时间、随机数和难以稳定复现的失败条件,使测试能集中验证目标逻辑。但如果把所有依赖和内部调用都替换,测试可能只证明模拟对象彼此配合,无法发现真实集成问题。

明确替身的边界:例如接口响应使用有代表性的真实结构,而不是仅包含刚好能通过测试的字段。对契约重要的边界应保留集成检查,确保模拟行为没有偏离真实系统。

每个测试后清理或恢复 mock 与计时器,避免状态泄漏。clear、reset 和 restore 的含义不同,应按工具文档选择。不要为了容易断言而改变正常业务设计或暴露不必要的内部实现。