Angularjs 我应该如何思考以确保良好的BDD设计?

Angularjs 我应该如何思考以确保良好的BDD设计?,angularjs,jasmine,bdd,karma-runner,Angularjs,Jasmine,Bdd,Karma Runner,我是BDD的新手,通过在线文章我对BDD有了一些了解。我想为我的新AngularJS应用程序做BDD。当我开始一个项目时,我仍然非常习惯于旧的方法,考虑功能并一步一步地创建它 那么,在开发过程中,我如何让自己感到舒适&用BDD思考?如何确保我编写的BDD测试能够很好地覆盖我的所有代码?有。在我看来,BDD的优势在于协同定义需求。因此,我更喜欢示例名称规范(SbE)而不是行为驱动开发(BDD),因为它表明这种技术可以用来提出正确的问题,并与不同的利益相关者一起解决细节问题。当您想从SbE开始时,如

我是BDD的新手,通过在线文章我对BDD有了一些了解。我想为我的新AngularJS应用程序做BDD。当我开始一个项目时,我仍然非常习惯于旧的方法,考虑功能并一步一步地创建它

那么,在开发过程中,我如何让自己感到舒适&用BDD思考?如何确保我编写的BDD测试能够很好地覆盖我的所有代码?

有。在我看来,BDD的优势在于协同定义需求。因此,我更喜欢示例名称规范(SbE)而不是行为驱动开发(BDD),因为它表明这种技术可以用来提出正确的问题,并与不同的利益相关者一起解决细节问题。当您想从SbE开始时,如果您改变您的观点并从客户和用户的角度来看待您的问题/项目,这会有所帮助。在定义快乐之路之后,您可以与您的团队一起深入挖掘,并定义边缘案例


请注意,SbE不是万能的。我建议使用“常规”单元测试作为测试覆盖率的基础,并使用SbE作为附加组件,以根据客户需求驱动您的开发。从技术角度来看,你应该注意自己的能力。

与大多数事情一样,这要视情况而定。我为BDD所做的是考虑用户将拥有的交互,并规划出关键流程和功能。对于前端应用程序,我考虑用户将如何与应用程序交互(单击导航菜单、注册帐户等),然后根据这些行为编写测试。BDD更像是一种范例,而不是任何具体的实现,我看到它在不同的项目中做得不同。然而,归根结底,它是考虑应用程序在给定特定状态下将演示的行为,并对其进行测试以最小化回归或破坏性更改。

想想

你在干什么

你为什么这么做(例如,它有什么价值)

在你考虑如何做某事之前,先弄清楚这些。这是BDD的关键,在你能够驱动任何东西之前,你必须了解行为并能够清楚地表达出来。

另请参阅网站,该网站专门针对软件需求、开发方法和流程等非编码问题设计。这一网站似乎涵盖了你的问题: