rspec - BDD 循环 - 如何加入后端与前端

标签 rspec cucumber jasmine bdd

我想知道如何将前端 BDD(即 Jasmine)与后端 BDD(rspec、cucumber)连接起来。 这两者如何关联并形成一个内聚的 BDD 循环? 这个循环的正确步骤是什么?

最佳答案

要创建一个有凝聚力的 BDD 循环,您可以使用“由外向内”的开发技术,然后采用“假装直到成功”的方法,即在编写具体实现之前使用模拟对象。

假设您有以下 cucumber 场景:

Given I am on the home screen
When I submit valid log-in credentials
Then I am navigated to the landing page

这将是您拥有的最外层测试。显然,当您运行它时,每个步骤都会失败,因为没有任何实现。

现在您将恢复使用 Jasmine 创建前端 BDD 来实现主屏幕。一旦您的 Jasmine 测试成功,这又会导致“给定”步骤通过。

接下来您将编写更多前端测试来实现登录功能,但在此阶段您可以模拟对服务器的调用以实际验证用户(因此采用“假装成真”的方法) .同样,通过模拟登录过程,您将能够快速开发登录屏幕并满足 cucumber 测试。

一旦您编写了 Cucumber 测试并通过了 Jasmine 测试,您将继续通过用户验证代码实现后端 BDD 开发(即编写具体代码来验证登录站点的用户)。

因此您可以看到,这种“由外而内”的开发方法允许您在后端和前端层都使用 BDD。

有关此开发方法的其他一些有用文章如下:

关于rspec - BDD 循环 - 如何加入后端与前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21321360/

相关文章:

ios - 在设备上运行 Cucumber,应用立即崩溃,错误 : "Error while writing to fifo. RunLoop::Fifo::NoReaderConfiguredError"

ruby-on-rails - Cucumber 和 Rails - 打印场景

ruby-on-rails - 检查用户是否已在设计中注销

ruby-on-rails - 带有标题 : true 的 rspec stub CSV Foreach

ruby-on-rails - RSpec - stub 模块中的#super调用#prepend monkeypatch

gradle - 使用Gradle时 cucumber 测试结果的西里尔字母输出错误

ruby-on-rails - 没有路由匹配 { :controller= >"stocks", :action= >"create"} RSpec Rails 3

unit-testing - Angular 2 RC4 : Unit test component that has dependency injection a service that has its own

javascript - 如果函数不返回值,Jasmine 如何工作?

angular - 测试组件元数据