Sam*_*der 17 ruby bdd ruby-on-rails cucumber
我是从BDD开始的.想知道从黄瓜或菠菜开始哪个更好.我的印象是菠菜是新的.看这里
我应该从哪一开始.标准是 -
再一次,它可能是新手的无知问题:水豚在哪里适合图片.
Woa*_*dae 20
在某些情况下,我一直是Cucumber的长期用户,但从第一天开始就一直希望它是菠菜.我将所有项目切换到Spinach尽管它有缺点,因为它使用了新的,热门的PORO技术(Plain Old Ruby Objects;).现在我可以扩展我想要的步骤,因为它只是Ruby.
在撰写本文时,要回答您的问题:
- 全面支持.
黄瓜
菠菜仍然在开发一些功能,包括"背景"块,我现在正试图让它识别表格.
- 使用灵活
菠菜
黄瓜从一开始就鼓励糟糕的步骤设计,IMO.如果您创建特定于功能的步骤,您将在以后查看它们,如果您创建可重用的全局步骤,您的功能定义将是冗长,通用和无聊的阅读.我听说有人声称他们可以成功地走平衡,并且足够具体,但仍然有可重复使用的步骤; 我认为自己非常精通,如果我不能可靠地做到这一点,那就太难了.
- 第三方工具和API集成
黄瓜,假设子弹点可以解释为社区.
如果它真的是"第三方工具和API集成",那么Spinach支持capybara和rspec,这是你所追求的大部分内容.Cucumber拥有第三方可重复使用的步骤库,但正如我之前提到的那样,我认为这很糟糕.关于第三方和集成,即使它还没有,你真的不能比普通的旧红宝石对象更好.
水豚在哪里适合这幅画
Capybara是您网站的测试界面,也就是测试鼠标和键盘.您可以在控制台中启动它并驱动您的应用程序,但这会重复.黄瓜/菠菜(或rspec/test-unit/minitest)都可以使用capybara自动测试你的应用程序.人们更喜欢Cucumber/Spinach,因为它们可以帮助您逐步退出代码,以便像用户一样思考.
总的来说,你可能最好得到一本rspec /黄瓜书并按照它说的做.请注意,测试需要一段时间才能擅长,所以不要止步于此.也许在这个过程的某个地方看看Spinach; 如果你喜欢Cucumber,你会发现你真的很喜欢菠菜.
小智 16
免责声明:我是菠菜捣蛋鬼.
如果您从BDD开始,我强烈推荐两本书:
我认为学习所有BDD和TDD过程(从外到内等)很重要,然后选择你觉得更舒服的工具.
话虽如此,Cucumber有一个庞大的社区,但很多东西也适用于Spinach,因为他们的共同点是Gherkin.
至于使用的灵活性,我会说两者都非常灵活,但我(显然)更喜欢Spinach,因为它只是一个Ruby类,你可以包含模块,继承其他类等等(这也适用于API集成) .
我想要你,你可以看一下spinach-rails-demo,看看一切是如何运作的.
我不能真正代表 Spinach,因为我从未使用过它,但 Cucumber 确实拥有巨大的社区支持和大量外部库。
Capybara 让您轻松测试 Web 应用程序
When I fill in "username" with "foo"
And I click on "login"
Then I should see "enter your password"
Run Code Online (Sandbox Code Playgroud)