 <p>I have had an amazing experience with Behat / Mink <a href="http://behat.org">http://behat.org</a></p> <p>I agree with others php as a unit testing platform is not a fun or experience BDD is the best way to go if you are using any php framework</p> <p>Wrapping my head around composer as a repo build tool was the biggest stumbling block but we were able to use Behat Mink Selenium Webdriver standalone server jar as an amazing design and regression testing tool. We used to run our regression suite against our CakePHP application on a Jenkins server but it proved to be not so very "fail fast" enough</p> <p>Now our workflow goes like this: Create story in gherkin refine story write feature and stub out any new step defs begin coding php solution to test Then at the end we have a working feature or bug fix with a bdd test covering it</p> <p>We setup an Ubuntu VM with a working Behat setup and copied it to every workstation. We baked it into our process. We just pull down changes run tests then begin coding new stuff.</p> <p>We wrote a shell script to automatically run mysql dumps and load them before each feature which has made refactoring code a breeze.</p> <p>The Mink WebAssert class gives you all the assertions you need to validate behavior The regular session / CommonContext classes are great for using css or xpath. </p> <p>I have used Capybara / WebDriver with Java and Rails projects before and found the setup overhead / learning curve is too high compared to Behat. </p>