php - 在 PHP 中对 Cucumber 进行 Behat

标签 php bdd behat

不要误会我的意思。我认为这两个项目都很棒。

但作为 php 和 ruby​​ 开发人员,我想知道是否有任何令人信服的理由,除了可能的语言障碍,为什么会选择 BehatCucumber (与 cuke4php )为 BDD即使在使用 php 或某些 php 框架时也是如此。

最佳答案

我是一名 Behat 开发人员。

为什么我开发 Behat 而不是 Cucumber 定制:

  1. 速度。没有简单的方法可以从 Ruby 代码引导/运行 PHP。这意味着您需要实现电线/代理和其他东西,这会使您的测试变得异常缓慢。较慢的测试不是测试,它只是吞噬客户资金的代码。
  2. 可扩展性。真正了解 Ruby 的 PHP 开发人员很少。这是一个很难使用的工具,很多人不明白!为 Cucumber 编写的所有示例都是 Ruby 代码,您甚至无法查看 Cucumber 源代码,因为假设您不了解 Ruby。这就像在您只需要出租车时购买一艘潜艇。

在功能方面,Behat 和 Cucumber 几乎相同(我一直在努力实现这一点)。但是从 PHP 开发人员的角度来看,在速度/可扩展性/逻辑方面 - Behat 更好,因为它是一个快速且干净的原生 PHP 工具。 Behat 不是 Cucumber 端口,正如您可能首先想到的那样,它完全是基于 PHP 5.3 构建的。 Behat 正在尝试使用其输入读取(功能)和输出格式(格式化程序)来模拟 Cucumber,但它不是 Cucumber 端口(PHP 中没有 Ruby 语法结构)。

关于php - 在 PHP 中对 Cucumber 进行 Behat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4945399/

相关文章:

php - 查询获取某项出现的次数

ruby-on-rails - 如何使用 Cucumber 在页面中测试一个、多个或无图像?

ruby - 为什么专家无法在 Controller 测试中找到策略?

ajax - 这些 MinkExtension 基础上下文适应与 ajax 请求相关吗?

php - mac 上 apache2 的 $PATH 环境变量

php - REGEX 协助嵌套模式?

php - 您可以将场景称为 Behat 3 中的步骤吗?

symfony - Mink 不适用于 behat 3.0.12

php - 如何获取MySQL中最后更新的行的ID?

ajax - 如何让 Behat 等待 Angular ajax 调用?