测试 给懒人的 Rspec 测试入门教程

happypeter · 2013年08月25日 · 最后由 pongyo 回复于 2013年08月25日 · 13158 次阅读

我自己认同(也是 railscasts 上面提倡的)的测试新手入门的最佳路径:由粗到细,由外向里。

  • 先用 rspec + capybara 写一些粒度很粗的用户行为模拟
  • 如果觉得报错信息太粗糙,没法快速定位错误,再去考虑添加单元测试

分享我自己的一个视频,欢迎大家批评:

http://happycasts.net/episodes/57

P.S:我还是坚持认为对于新手,最佳的策略是:不写测试。大家不要太迷信测试这个东西。如果你的项目较小,测试完全没有必要。

hi peter,

能提个建议吗?

http://happycasts.net

新用户使用 github 登录时,索取的权限太多了。

@xiaoronglv 多谢提醒,回头我改改。

多谢分享。 这些基本的开发方式,不管怎么说我认为都有其合理的一面,所以对于新手的我来说,我觉得好好学习一下,开始的时候养成一个好习惯还是有必要的。 至于以后经验多了,有了自己的感悟之后我认为可以根据实际情况做一些变通也是合乎情理的,但是在开始学的时候,我觉得还是老老实实的学习一下比较好。

一家之言。还是要谢谢你的分享,我会认真学习一下的。:)

在一本设计书中我看过,设计有一些规则,这些规则不死板,都是可以打破的,但并非可以随意打破。当一个设计师决定打破一条规则时,他必须能用文字准确描述出理由。然后看看这理由有没有说服力。

写测试也差不多吧,如果决定不写,首先要能用文字说出理由,然后看这理由怎么样。

比方说:

  • 我写过多次这个功能,真心不可能写错了(可以接受)
  • 这个 project 很小,出问题定位也很简单,测试没必要(可以接受)
  • 死线太近了,来不及了,以后补测试(可以接受)
  • 太懒了,不想写测试(不能接受)
  • 不会写…… (一脚踹去看书)

#4 楼 @blacktulip 不错的一种思维方式,受教了。

我也认为在可以掌控的小项目中:测试驱动不能加快开发速度 但如果这个项目维护人是你自己,需求增加与变动较多的大,你应该就会想办法补上测试用例了。

如果驱动项目的主要动力是 功能 + 交付日期, 质量(内部+外部)排在后面,那么测试可以暂时放一放,但同时会积累下技术债。

随着项目的发展,有可能对质量的要求会提高,并且需求发生变化,那么这个时候就要着手补充测试,并且偿还以前的技术债。

当然驱动项目的因素还有一些,比如成本什么的,一般程序员最容易考虑的是开发速度。

测试只是全部流程中的一个环节,类似的还有重构,设计,等等。 周全考虑项目的驱动因素有利于我们把握有哪些需要做有哪些不需要做。

但是一般来说 我认为测试是必要的。

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