我想知道如何将前端 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/