5

如今,Rails(而不仅仅是 Rails)开发世界中的每个人都在谈论 TDD(BDD)。很容易找到很多关于它的一般信息,有很多工具可以用于此目的,并且有很多(好的)示例说明如何使用它们。

现在,我已经在火车上了。我喜欢这个想法(以前从未做过 TDD),我决定选择 Shoulda(因为在我看来它很容易理解)。我读了很多例子,并做了一些初步测试。我的问题是:我只是不确定我是否做得对。正如我所说,网上有很多小例子,但我还没有找到任何全面的指南,涵盖 TDD 与 Shoulda 的整体工作流程。

以下是我的问题:

  • 你用 Shoulda 练习 TDD 的方式是什么?(在一次迭代中,您通常的工作流程是什么?)
  • 您还使用哪些其他工具(除了 Shoulda 本身)?
  • 还有其他提示吗?
4

3 回答 3

2

我使用的是 RSpec 而不是 shoulda,(尽管我相信 shoulda 可以与 RSpec 一起使用)并且我的工作流程的最大改进来自使用 Autotest,然后是 RSpactor。

如果更新测试或实现文件,这些工具会自动监视您的源代码树的更改并执行相关测试。测试实践的一个很小的变化,但立即的反馈增加了我为每个功能编写测试的纪律。

于 2008-10-23T10:12:05.700 回答
2

+1 自动测试。

如果您有一个大型测试套件并且只想运行您正在处理的测试(而不是整个测试套件),请查看这个用于 Autotest 的猴子补丁。

至于其他工具,您应该查看Factory Girl作为固定装置的替代品。

我对使用 Shoulda 的了解大部分来自于阅读其他测试代码。在github上查看 Thoughtbot 的一些项目,例如ClearancePacecar

于 2008-10-23T11:44:09.867 回答
0

我完全同意 rails BDD 文档中有很大的差距。很多小例子,但没有大的例子给出了如何做到这一点的总体情况。甚至那些有测试章节的书都对此感到内疚。我见过的唯一完整示例是 peepcode 在 rspec 上的三部分截屏视频和关于 flex mock 的 confreaks 视频。

我很想听听关于 BDD 的其他优秀资源,这些资源超越了语法的小例子,我真的很想看到一本关于这个主题的书。

于 2008-10-23T13:08:15.250 回答