Rails 测试驱动开发实战
1. 项目视图测试概述
在开发过程中,视图测试是确保应用程序功能正常的重要环节。我们在测试时,会检查是否不存在任何类型的项目、用户或日期标签,同时确保昨天和今天状态报告字段有文本区域输入标签。对于这些测试的具体结构可能会有一些争议,我们选择基于 DOM ID 来测试表单字段,因为 Rails 对 ID 和标签的名称字段有一致的模式,并且 DOM ID 与 assert_select() 语法配合使用效果更好。
不过,一个不遵循 Rails 约定的程序员可能会在不使视图测试失败的情况下引入 bug。我们应将视图测试限制在可能出现错误或回归的地方,因为要追踪视图可能出现的所有问题会耗费大量精力。
通过测试相对容易,只需移除项目、用户和日期的表单元素。但与模型测试不同,即使测试通过,这个视图也不一定适合用于生产应用,还需要进行样式设计等优化。
从服务器端逻辑的有限视角来看,功能基本完成,但无论我们认为测试有多完善,都必须在浏览器中进行测试。测试固然重要,但如果应用在浏览器中无法正常工作,用户不会关心代码覆盖率。编写测试可以减少在浏览器中反复测试的时间,但自动化测试并不意味着可以停止在浏览器中进行测试。
2. 项目视图的级联测试
在某个应用中,项目页面应显示该项目的状态报告时间线。实现此功能至少需要进行控制器和视图测试,后续可能还会用到模型测试。为了进行这些测试,需要一些状态报告数据,我们可以使用数据夹具(fixtures)来提供样本数据,以此指定应用程序的行为。
2.1 准备数据夹具
为了测试视图,需要添加一些数据夹具。
超级会员免费看
订阅专栏 解锁全文
29

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



