Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

PHP Developer Blog:
Unit Tests: How to test for Exceptions
Apr 20, 2009 @ 13:06:15

The PHP Developer Blog has a quick post for the unit testers out there on how to work with exception handling in your tests.

When unit testing, you'd also want to test whether your application throws Exceptions as expected (the following examples are based on SimpleTest). Assumption for the examples is, that we have a method that expects an integer as parameter.

Putting the assertion inside of the catch block won't work correctly since it wouldn't happen unless an exception is thrown. Instead he recommends putting it right after the exception try/catch and check to see if the exception variable is a type of 'Exception' (with another potential solution of adding in a check for an 'InvalidArgumentException').

tagged: invalidargumentexception assert catch try exception unittest test