PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

PHPUnit Plugin For Sublime Text 2

Note: This article was originally published at Planet PHP on 19 April 1820.
Planet PHP

Sublime Text 2 is a new cross-platform text editor that I've recently switched to. It's still in public beta, but already offers better performance (and battery life!) and a better look (fonts that render properly!) than Java-based IDEs such as Netbeans.

One thing it didn't have was support for PHPUnit, so I've made a plugin. It's available to install via Package Control.

You Need A phpunit.xml or phpunit.xml.dist File

To use this plugin, your project needs to contain either a phpunit.xml or a phpunit.xml.dist file. This file contains all the configuration that needs to be passed to PHPUnit. The plugin searches upwards from your code, and will favour a phpunit.xml file over a phpunit.xml.dist file if it finds both.

If you don't have one, you need to go and create one now.

How To Use

If you have your code open in a Sublime Text 2 window, right-click inside the window to see what your options are:

  • Test This Class - click this option to run just the unit tests for this class.

    This option appears if the PHPUnit plugin can find your unit tests. It takes the name of your class, and uses the standard PSR-0 transformation to figure out what the name of your test file should be.

    For example, if your class is called aPhix_Project\CommandLineLib\CommandParser.php', the PHPUnit plugin will search for a file aCommandLineParserTest.php' that's in a folder called aPhix_Project/CommandLineLib'.

  • Open Test Class - click this option to open up your tests in Sublime Text 2. If you already have the tests open, this will switch tabs to your tests.

    Again, this option only appears if the PHPUnit plugin can find your unit tests.

  • Run All Unit Tests - click this option to run all the unit tests for your code.

    This option just points PHPUnit at your phpunit.xml or phpunit.xml.dist file.

If you have your tests open in a Sublime Text 2 window, right-click inside the window to see what your options are:

  • Run These Tests - run these unit tests, using the phpunit.xml or phpunit.xml.dist file that the PHPUnit plugin has found.
  • Open Class Being Tested - open the class that these tests are for in Sublime Text 2. If you already have the class open, this will switch tags to your code.
  • Run All Unit Tests - click this option to run all the unit tests for your code.

If you're someone who prefers keyboard over mouse, then you'll probably want to run the PHPUnit plugin commands from Sublime Text 2as Command Palette:

You get the same commands that appear on the right-click menu a the right commands will appear for the file that you're currently editing, just as you'd expect.

Finally, you can also right-click on your phpunit.xml (or phpunit.xml.dist) file in the Project Sidebar, and run your unit tests using that specific config file.

Helpful Snippets

Like TextMate before it, Sublime Text 2 also has a handy snippets feature, where it can insert a pre-crafted block of text (or, in our case, PHP code) to speed up your coding. I'm collecting most PHP-related snippets in my Additional PHP Snippets plugin (hat-tip to Rob Allen for the inspiration for this), but the PHPUnit plugin includes a few PHPUnit-related snippets to help.

  • phpunit-testcase - will create a new test class for you to fill out.

    I find this handy mostly so that I don't have to remember which class my test class has to extend :)

  • phpunit-test - will

Truncated by Planet PHP, read more at the original (another 664 bytes)