用黄瓜写Ruby宝石的规格

时间:2012-02-04 07:38:04

标签: ruby rspec cucumber bdd

我正在开发一个Ruby gem,它可以用作另一个Ruby / Rails应用程序的库或API(没有CLI)。

我计划使用Cucumber / Rspec在BDD概念中使用外部开发这个gem。在编写Cucumber功能之前,我做了一些研究,发现Cucumber主要用于指定gem的用户界面,而不是用于指定API。让我知道您将在这种情况下使用哪些工具以及如何使用它。

1 个答案:

答案 0 :(得分:4)

一般来说,Cucumber规范涵盖了软件的高级使用场景,而RSpec涵盖了较低级别的类的接口。

当您希望让非技术客户/产品所有者帮助您编写验收测试时,Cucumber非常有用 - 使用Cucumber,您可以为他们构建业务可读的DSL。

如果您的程序(gem)的客户是程序员而您没有提供任何用户界面(仅API),则可以使用RSpec并且不添加Cucumber。 RSpec规范将涵盖API的所有公共方法,并将为gem提供良好的规范。

如果您想要涵盖产品的复杂使用场景(当用户调用多种方法来实现结果时),添加Cucumber规范可能会有用,但您也可以使用RSpec编写高级测试。

摘要:对于 gem 开发,Cucumber看起来像是一种矫枉过正,我只会从RSpec开始。