assetEqual with message
assertEqual can actually get a third parameter too. This can hold a short description of what is being tested.
examples/php/phpunit/calc04.php
<?php require_once(dirname(__FILE__) . '/../includes/mylib.php'); require_once 'PHPUnit/Framework.php'; class AddTest extends PHPUnit_Framework_TestCase { public function testAddTwo() { $this->assertEquals(2, add(1, 1), '1+1=2'); } public function testAddThree() { $this->assertEquals(3, add(1, 1, 1), '1+1+1=3'); } } ?>
Output
In case of success this does not make a difference but when the test fails PHPUnit will display this message along with the name of the test function and the name of the test class. If the message is worded carefully it can further help in understanding the failure without even looking at the source code.
PHPUnit 3.3.17 by Sebastian Bergmann. .F Time: 0 seconds There was 1 failure: 1) testAddThree(AddTest) 1+1+1=3 Failed asserting that <integer:2> matches expected value <integer:3>. /home/gabor/work/gabor/training/testing/examples/php/phpunit/calc04.php:14 FAILURES! Tests: 2, Assertions: 2, Failures: 1.