Don't get me wrong. I think both projects are fantastic.
But as both php and ruby developer I wonder if there are there any compelling reasons, besides possible language barrier, why would one choose Behat over Cucumber (with cuke4php) for BDD even when working with php or some php framework.
Cucumber is a tool that supports Behaviour-Driven Development (BDD) - a software development process that aims to enhance software quality and reduce maintenance costs. Behat and Cucumber belong to "Testing Frameworks" category of the tech stack. Behat and Cucumber are both open source tools.
I'm a Behat developer.
Why I've developed Behat instead of Cucumber customization:
In terms of features, Behat and Cucumber are almost the same (I've worked hard to achieve this). But in terms of speed/extensibility/logic from a PHP developer's perspective - Behat is better, because it's a fast and clean native PHP tool. Behat is not a Cucumber port, as you might think by first, it's built entirely from the ground on PHP 5.3. Behat is trying to simulate Cucumber with its input reading (features) and output formatting (formatters), but it's not a Cucumber port (there are no Ruby syntax constructions in PHP).
Yet another reason why you may need Behat is explained here: https://cucumber.io/blog/bdd/when-cucumbers-go-bad/
If you have PHP project, you may want to create context for internals testing (domain layer, application layer).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With