黄瓜上的帽子在PHP中

2022-08-30 15:52:59

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

但是作为php和Ruby的开发人员,我想知道除了可能的语言障碍之外,是否有任何令人信服的原因,为什么即使使用php或某些php框架,人们也会选择Behat而不是Cucumber(带有cuke4php)作为BDD


答案 1

我是Behat开发人员。

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

  1. 速度。没有简单的方法可以从Ruby代码引导/运行PHP。这意味着您需要实现电线/代理和其他东西,这使您的测试速度非常慢。较慢的测试不是测试,它只是消耗客户钱的代码。
  2. 扩展。很少有PHP开发人员真正了解Ruby。这是一个难以使用的工具,许多人不理解!所有为Cucumber编写的例子都是Ruby代码,你甚至不能查看Cucumber源代码,因为,比方说,你不了解Ruby。这就像当你只需要一辆出租车时买一艘潜艇。

在功能方面,Behat和Cucumber几乎是一样的(我一直在努力实现这一目标)。但是从PHP开发人员的角度来看,就速度/可扩展性/逻辑而言 - Behat更好,因为它是一个快速干净的本机PHP工具。Behat不是一个Cucumber端口,正如你首先认为的那样,它完全是在PHP 5.3上从头开始构建的。Behat正试图通过其输入读取(功能)和输出格式(格式化程序)来模拟Cucumber,但它不是Cucumber端口(PHP中没有Ruby语法结构)。


答案 2

这里解释了您可能需要Behat的另一个原因:https://cucumber.io/blog/bdd/when-cucumbers-go-bad/

如果你有PHP项目,你可能想为内部测试(域层,应用程序层)创建上下文。


推荐