【发布时间】:2014-01-23 23:18:55
【问题描述】:
我想知道您如何将前端 BDD(即 Jasmine)与后端 BDD(rspec、黄瓜)连接起来。 这两者如何关联并形成一个有凝聚力的 BDD 循环? 这个循环的正确步骤是什么?
【问题讨论】:
-
您觉得我的回答有用吗?
标签: rspec cucumber jasmine bdd
我想知道您如何将前端 BDD(即 Jasmine)与后端 BDD(rspec、黄瓜)连接起来。 这两者如何关联并形成一个有凝聚力的 BDD 循环? 这个循环的正确步骤是什么?
【问题讨论】:
标签: rspec cucumber jasmine bdd
要创建一个有凝聚力的 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 测试成功,这反过来会导致“Given”步骤通过。
接下来您将编写更多前端测试来实现登录功能,但在此阶段您可能会模拟对服务器的调用以实际验证用户(因此采用“假装它”的方法) .同样,通过模拟登录过程,您将能够快速开发登录屏幕并满足黄瓜测试。
一旦您编写了 cucumber 测试并且 Jasmine 测试通过,您将继续使用用户验证代码实现后端 BDD 开发(即编写将验证登录到站点的用户的具体代码)。
因此您可以看到,这种“由外而内”的开发方法允许您在后端和前端层都使用 BDD。
关于这种开发方法的其他一些有用的文章在这里:
【讨论】: