Over a million developers have joined DZone.

Using Guard + PHPUnit for Great Good!

DZone's Guide to

Using Guard + PHPUnit for Great Good!

· Web Dev Zone
Free Resource

Learn how to build modern digital experience apps with Crafter CMS. Download this eBook now. Brought to you in partnership with Crafter Software

Another day, another post about the tooling I’ve been using to make PHP development bearable. Today I’ll share guard-phpunit, which I discovered thanks to a tip by @ctshryock.

I’ve been using this as a replacement for watchr which I use to autorun tests whenever I make code changes. I’ve switched to guard for a number of reasons, chief amongst them being the awesome notification support. You can use growl, libnotify and rb-notifu to notify test pass/fail.

Here’s the Guardfile I’ve been using. This is tailored for Zend Framework 2 so that whenever I modify a php class under a module directory it will run the tests for that particular class. Rapid feedback for the win!

guard 'phpunit', :tests_path => 'test', :cli => '-c test/phpunit.xml' do
  # Watch tests files

  # Watch library files and run their tests
  watch(%r{^module/(.+)/src/.+/(.+)/(.+)\.php}) { |m| "test/#{m[1]}/#{m[2]}/#{m[3]}Test.php" }



Crafter is a modern CMS platform for building modern websites and content-rich digital experiences. Download this eBook now. Brought to you in partnership with Crafter Software.


Published at DZone with permission of James Carr, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}