测试 rspec 在团队中的应用

hysios · 2012年02月17日 · 最后由 hysios 回复于 2012年02月19日 · 4052 次阅读

RT,在团队中大家是怎么应用 rspec 的能分享一些经历吗?

rspec 从开始到现在,已经形成了一整套针对 Controller,Model,Helper,Mailer 等相关的最佳实践和套路了。在团队中,每个功能落实到开发的那个人,应该遵循大家都普遍接受的 rspec 最佳实践/套路来写测试,如果强势的团队甚至必须要求提交的代码必须附带对应的功能测试,大家多互相 Code review 对方的代码和 rspec,团队协作 rspec 方面最大的法宝是沟通,只要多沟通就没有问题了。

推荐 Rspec 的官方文档网站 https://www.relishapp.com/rspec

跟帖问个问题:关于 rspec 一直有个问题:本地的 yard 一直生成不了 rspec-rails 的文档,哪位有办法吗?yard 只能生成一些小 gem 的文档,大点的 gem 会一直提示正在生成

#1 楼 @lgn21st 原来文档在这里,我找这个很久了...

匿名 #4 · 2012年02月18日

#1 楼 @lgn21st 一直没搞懂 DHH 对 rspec 的态度。

我们是每个 commit 都要带 rspec 代码。#1 楼 @lgn21st 但这样做是不是就不是 TDD 了?TDD 是应该先写测试吧

匿名 #6 · 2012年02月18日

#5 楼 @anklos 哈哈,准确的说,是先写失败测试用例

我觉得 TDD 的思想要包括:

  1. 测试先行。 测试也是设计的一部分,是和设计一样的交流工具。把测试代码去让别人实现,基本就不会有二意性。后面也不会有那么多的扯皮。
  2. 自动测试。 对个人来说,我想知道我写的函数是不是对的,那让我每改一次去跑一些那测试根本不现实,用 guard 的什么的监听改过自己测试,那工作 起来就爽多了

#5 楼 @anklos 不管是 TDD 还是反过来,我喜欢用一个比喻来解释测试和开发得,这就象一个人用两条腿走路,不管你先迈左脚,或者先迈右脚,无所谓,关键是必须两条腿交替走才能保持平衡,你不能单脚跳着向前走,单脚跳初看起来好像走得更快,但是很容易摔倒。

#8 楼 @lgn21st good job!!! 一个都不能少

我觉得我还得把 rspec 的问题推一推,我问的这个问题并非 rspec 的定义,实际上 rspec 应该是 BDD,而非 TDD, 第二我想交流是 rspec 在团队中的实践心得,我对 rspec 的看法是它是一种可测试的规范设计,这样我把整个团队都转换成以 rspec 为准的开发模式,以 rspec 设计为先,目前我基本没发现什么问题,它能很好的解决设计、测试与沟通的矛盾,不知道是不是我太乐观了?rspec 总体来看被讨论还不够

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册