Ibuildings techPortal: Behavior Driven Development in PHP With Behat
On the Ibuildings techPortal today there's a new post from Marcello Duarte looking at a different sort of software development methodology - behavior driven development - and using Behat in a sample project.
Because of the emphasis on test, developers tend to focus on class structure as opposed to how the system should behave. Ironically the focus on test moves developers away from TDD as it was intended. Quite often, because of the tendency to try to test everything, our tests end up tightly coupled with our implementation. If we change our code, we break our tests, even if the behaviour remains unchanged.
He talks about the option to use the agiledox method in PHPUnit tests and how it can help with test output readability. He takes it a step further with a look at Gherkin, the language for the Cucumber testing tool in Ruby. The next obvious step in the process comes with Behat, a sort of PHP version of the Cucumber testing tool. He includes a sample project and shows how to update it with sample steps and create a few basic tests to check video rental information.