所以我想开始使用 RSpec 故事,但我不确定编写 Controller 、模型和 View 规范的位置。
例如,你有一个故事“登录”和“用户提供了错误的密码”场景,你最终不会测试与 Controller /模型规范相同的东西(response.should render...,user.should be_nil,等等.)
所以我的问题是:对于那些习惯于用 RoR 做 bdd(或 story dd)的人,你还在写模型/ Controller 规范吗?如果是这样,您遵循的工作流程如何(“第一个故事,然后缩小到特定规范”)?
最佳答案
如果您现在从故事开始(而不是拥有大量遗留故事),您可能需要查看 Cucumber,它是 RSpec 故事运行器的长期替代品。
拆分规范和故事的最简单方法是使用故事进行业务需求的全栈测试,并使用规范进行组件( View 、助手、 Controller 和模型)的隔离低级规范。 “全栈”的范围从 Controller /模型/数据库到使用 Webrat 的客户端模拟,再到使用 Watir 或 Selenium 的浏览器内测试。
BDD 做事的最终“外在”方式是从基于客户需求的故事开始,然后为您在实现故事时发现需要的组件添加规范。理想情况下,您将完全涵盖具有规范的各个组件,并为用户最重要的工作流程提供故事,以便您可以在最高级别检查您的应用程序是否提供了您所要求的功能。
关于ruby-on-rails - RSpec 故事和规范 : When to use what?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/167210/