对于一个新的应用程序,我想开始涉足 BDD,我正在尝试在使用 RSpec 或 Thoughtbot 的 Shoulda 之间做出决定。我喜欢 Shoulda 使用的宏,而且它似乎并没有重新发明 Ruby/Rails 进行测试的方式,而只是提供了一个附加组件。另一方面,宏看起来有点“神奇”,而不是明确说明您正在测试的内容(但是我从涉猎中知道,在上面写一打“如果没有 xxx 应该无效”两行一个模型)。老实说,我发现为模型编写规范/测试非常简单,几乎无聊,但我发现为控制器编写它们非常困难,因为我永远不确定我应该测试什么或如何编写它。
我对 mocking 和 stubbing 的主题很不确定,因为我认为它们给了你错误的假设(因为你可以告诉它认为它有你需要的任何数据或假装调用了 Method X)而且我知道 RSpec 很重使用它们。我喜欢 RSPec 生成的文档,但我正在创建一个销售应用程序,而不是提供给客户,所以漂亮的文档没有那么有用。我喜欢 Cucumber,但它似乎有点矫枉过正(是的,我知道它可以与 Shoulda 一起使用)。
在这一点上,Rails 社区是支持 RSpec 还是 Shoulda?