我想知道你如何将前端BDD(即Jasmine)与后端BDD(rspec,黄瓜)连接起来。 这两者如何联系并形成一个有凝聚力的BDD循环? 这个循环的正确步骤是什么?
答案 0 :(得分:2)
要创建一个有凝聚力的BDD循环,您将使用“从外到内”开发技术,然后采用“伪造它直到您制作它”的方法,即使用模拟对象,直到您编写具体实现。
假设你有以下黄瓜情景:
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测试成功,这反过来会导致“给定”步骤通过。
接下来,您将编写更多的前端测试来实现登录功能,但在此阶段您可以模拟对服务器的调用以实际验证用户(因此采用“假冒它制作”方法) 。再次,通过模拟登录过程,您将能够快速开发登录屏幕并满足黄瓜测试。
一旦你编写了黄瓜测试并且你通过了Jasmine测试,你就可以继续使用用户验证代码实现后端BDD开发(即编写具体代码来验证登录网站的用户)。
因此,您可以看到这种“Outside in”开发方法允许您在后端和前端层使用BDD。
关于这种开发方法的其他一些有用的文章在这里: