繁体   English   中英

黄瓜:如何在PHP中编写片段/步骤定义?

[英]Cucumber: How to write snippets/step definitions in PHP?

我试图让Cucumber正在测试PHP应用程序。 到目前为止,我能够通过在我的功能目录中简化运行cucumber来运行该功能。 在结果的底部,它说:

如果您想要使用不同编程语言的代码段,只需确保存在具有相应文件扩展名的文件,其中黄瓜会查找步骤定义。

这究竟是什么意思? 我在Ruby中编写大部分步骤定义时很好,但在某些时候,我需要创建一些设置数据(理想情况下是在PHP中创建它)。 如此语句建议,如何在PHP中编写步骤定义?

仅供参考:我也是Ruby和Cucumber的新手。


解决方案: Cuke4PHP

Cuke4PHP实现了Cucumber有线协议,可以在PHP中编写步骤定义。

看看Behat,一个PHP版的Cucumber: http//everzet.com/Behat/

如果你找不到解决方案,这就是我今天发现的! 这家伙省去了我必须要做的工作才能使用PHP lol

https://github.com/olbrich/cuke4php

他已经实现了PHP的有线协议 简而言之,这是另一台运行PHP步骤的服务器,当Cucumber找到它时。 还传回结果。

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

步骤定义存储在features/step_definitions ,并告诉Cucumber在遇到“我肚子里有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/step_definitions并相应地配置您的环境( features/support/env.rb )。 在Cucumber文档中有一个黄瓜功能形式的良好信息:

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

快速谷歌搜索还提出了以下关于使用Cucumber,Webrat和Selenium进行PHP测试的文章,它看起来非常有用:

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

其他不直接支持的语言可以使用Cucumber的有线协议,例如Clucumber(Common Lisp)所做的事情:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM