集成测试与外部驱动测试实战
1. 测试基础与测试金字塔
在进行测试时, capybara - screenshot 这个工具可以在测试失败时,自动在 /tmp 目录下生成 HTML 文件和截图,这有助于我们快速定位问题,比如发现卡在登录页面是因为忘记设置登录用户。
在 RSpec 系统测试中,有一个常用的测试隐喻——测试金字塔。测试金字塔中,单元测试数量相对较多,运行速度快,用于测试应用程序的小部分逻辑;集成测试数量较少,运行速度慢,用于测试整个应用程序。中间部分的测试既不完全是单元测试,也不是端到端的集成测试,例如 Rails 控制器测试,通常这类测试也不需要写太多。
| 测试类型 | 数量 | 速度 | 测试范围 |
|---|---|---|---|
| 单元测试 | 多 | 快 | 应用程序小部分逻辑 |
| 集成测试 | 少 | 慢 | 整个应用程序 |
测试金字塔虽然能指导我们各类测试的相对数量,但容易让人觉得集成测试只是被动地建立在单元测试之上。实际上,把功能级测试看作房子的框架会更合适。没有完整的功能测试,就无法明确应用程序各部分如何协同工作;没有单元测试,就会存在各种潜
超级会员免费看
订阅专栏 解锁全文
986

被折叠的 条评论
为什么被折叠?



