代码之家  ›  专栏  ›  技术社区  ›  Andrew

黄瓜:如何用PHP编写代码片段/步骤定义?

  •  3
  • Andrew  · 技术社区  · 14 年前

    我正在尝试让Cucumber测试一个PHP应用程序。到目前为止,我可以通过简单的运行来运行这个功能 cucumber 在我的功能目录中。在结果的底部,它说:

    如果您想要用不同的编程语言编写代码段,只需确保文件 在cumber查找步骤定义的地方存在适当的文件扩展名。

    这到底是什么意思?我可以用Ruby编写大部分步骤定义,但在某种程度上,我需要创建一些设置数据(最好用PHP创建)。我怎样才能像这句话所建议的那样用PHP编写步骤定义呢?

    仅供参考:我也是红宝石和黄瓜的新手。


    解决方案: Cuke4PHP

    CUKE4HP实现Cucumber Wire协议,使用PHP编写步骤定义成为可能。

    3 回复  |  直到 11 年前
        1
  •  3
  •   Emyl    11 年前

    如果你没有找到解决方案,这就是我今天找到的!这家伙省去了我用php lol所做的工作

    https://github.com/olbrich/cuke4php

    他已经实施了 wire protocol 用于PHP。简而言之,这是另一个在Cucumber找到任何PHP步骤时运行该步骤的服务器。同时返回结果。

    啊,不需要再配置env.rb了。

        2
  •  3
  •   MPV    14 年前

    看看Behat,一个PHP版本的黄瓜: http://everzet.com/Behat/

        3
  •  2
  •   Michael Kohl    14 年前

    步骤定义存储在 features/step_definitions 当黄瓜遇到“我肚子里有3个黄瓜”这样的说法时,它会告诉黄瓜该怎么做:

    Given /^I have (\d+) cucumbers in my belly$/ do |cukes|
      # Some Ruby code here
    end
    

    http://github.com/aslakhellesoy/cucumber/wiki/Step-Definitions

    要用PHP编写步骤,只需将它们放入 功能/步骤定义 并配置您的环境( features/support/env.rb 因此)。在黄瓜文档中有一个黄瓜特性的形式的好信息:

    http://github.com/aslakhellesoy/cucumber/wiki/php

    Google的一次快速搜索也带来了关于用cumber、webrat和selenium进行PHP测试的以下文章,这看起来非常有用:

    http://dev.af83.com/testing/acceptance-tests-php-project-cucumber-webrat-selenium-trio/2010/06/03

    不直接支持的其他语言可以使用Cucumber的Wire协议,例如,clucumber(common lisp)的作用是:

    http://github.com/aslakhellesoy/cucumber/wiki/wire-protocol

    我不做PHP,但我希望我的答案仍然有帮助。