Skip to content
🔗 分享本题
查看我的学习进度 →

28 模块 Q1 教学图:什么是 test harness?和测试脚本有什么区别?

🧠 图解记忆:Harness 把环境、执行和证据固化成可重复系统;点击图片可查看原图。

**❌ 错误回答:** 就是写测试的代码。

✅ 参考要点:

  • 先给定义:一套支持被测代码运行的基础设施,五要素(运行器/数据/断言/替身/报告);
  • 对比测试脚本:脚本是"一次性验证",harness 是"可持续运行、可重复、可集成进 CI 的工程系统";
  • 举例:pytest + fixture + mock + 覆盖率报告 + CI 触发,这一整套才是 harness;Go 项目同理是 go test + testify + testcontainers + GitHub Actions。

常见追问:

  1. 你项目里的测试是"能跑"还是"harness 级"?——问的是你有没有隔离外部依赖、有没有 CI 集成
  2. harness 和测试框架的分工边界在哪?

📚 参考:Martin Fowler:TestDouble(测试替身术语)