Chapter 8. Incomplete Tests

When you are working on a new test-case class, you might want to begin by writing empty test methods, such as:

	public function testSomething( ) {
	}

to keep track of the tests that you have to write. The problem with empty test methods is that they are interpreted as a success by the PHPUnit framework. This misinterpretation leads to the test reports being useless—you cannot see whether a test is actually successful or just not yet implemented. Calling $this->fail( ) in the unimplemented test method does not help either because then the test will be interpreted as a failure. This would be just as wrong as interpreting an unimplemented test as a success.

If we think of a successful test as a green light, and a test failure as a red light, we need an additional yellow light to mark a test as being incomplete or not yet implemented. PHPUnit2_ Framework_IncompleteTest is a marker interface for marking an exception that is raised by a test method as the result of the test being incomplete or not currently implemented. PHPUnit2_Framework_IncompleteTestError is the standard implementation of this interface.

Example 9 shows a test-case class, SampleTest, that contains one test method, testSomething( ). By raising the PHPUnit2_ Framework_IncompleteTestError exception in the test method, we mark the test as being incomplete.

Example 9. Marking a test as incomplete

<?php require_once 'PHPUnit2/Framework/TestCase.php'; require_once 'PHPUnit2/Framework/IncompleteTestError.php'; ...

Get PHPUnit Pocket Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.