Ruby on rails 您如何使用Cucumber&;开发outside-in-Rails应用程序;RSpec?

Ruby on rails 您如何使用Cucumber&;开发outside-in-Rails应用程序;RSpec?,ruby-on-rails,rspec,cucumber,bdd,Ruby On Rails,Rspec,Cucumber,Bdd,我刚刚开始在Rails应用程序中使用BDD,但我不确定什么是最佳实践和工作流?对于我的项目,我还需要什么样的东西来进行测试,比如步骤定义、控制器、模型和视图?我需要测试所有这些吗 我通常认为Cucumber是对应用程序进行集成测试的一种方法。结合Webrat,您可以以一种非常好的方式测试用户工作流、视图等。对于单元测试,您将只需要使用rspec进行更低级别的测试。您可能还想对控制器进行一些功能测试,我可能也不会使用Cucumber 以下是几段视频: 这可能是一个品味问题,但在试用了Rspe

我刚刚开始在Rails应用程序中使用BDD,但我不确定什么是最佳实践和工作流?对于我的项目,我还需要什么样的东西来进行测试,比如步骤定义、控制器、模型和视图?我需要测试所有这些吗

我通常认为Cucumber是对应用程序进行集成测试的一种方法。结合Webrat,您可以以一种非常好的方式测试用户工作流、视图等。对于单元测试,您将只需要使用rspec进行更低级别的测试。您可能还想对控制器进行一些功能测试,我可能也不会使用Cucumber

以下是几段视频:


这可能是一个品味问题,但在试用了Rspec之后,我更喜欢使用内置的Rails测试框架以及一个名为。在我看来,到目前为止,这种组合可以让您编写比Rspec更清晰、更简洁、更容易理解的测试。但并非所有人都同意

Shoulda的上下文允许您将测试组织到逻辑层次结构中,这在您尝试测试所有可能的路径时非常有用一些疯狂的分支情况,例如用户使用正确的pw、错误的pw、正确的pw登录,但注册未确认,等等


此外,请确保安装gem。这样,您只需执行命令
$autotest
,每次更改文件时,您的测试都会自动运行。

Ryan Bates在这些主题上有一些很好的RailsCast: