Prev | Next |
PHPUnit provides extensions to the standard base-class for test classes,
PHPUnit_Framework_TestCase
.
Sometimes you want to assert that the execution of a method, for
instance, generates an expected output (via echo
or
print
, for example). The
PHPUnit_Extensions_OutputTestCase
class uses PHP's
Output
Buffering feature to provide the functionality that is
necessary for this.
Example 8.1
shows how to subclass PHPUnit_Extensions_OutputTestCase
and use its expectOutputString()
method to set the
expected output. If this expected output is not generated, the test
will be counted as a failure.
Example 8.1: Using PHPUnit_Extensions_OutputTestCase
<?php
require_once 'PHPUnit/Extensions/OutputTestCase.php';
class OutputTest extends PHPUnit_Extensions_OutputTestCase
{
public function testExpectFooActualFoo()
{
$this->expectOutputString('foo');
print 'foo';
}
public function testExpectBarActualBaz()
{
$this->expectOutputString('bar');
print 'baz';
}
}
?>
phpunit OutputTest
PHPUnit 3.4.2 by Sebastian Bergmann.
.F
Time: 0 seconds
There was 1 failure:
1) OutputTest::testExpectBarActualBaz
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ -1 +1 @@
-bar
+baz
FAILURES!
Tests: 2, Assertions: 2, Failures: 1.
Table 8.1
shows the methods provided by
PHPUnit_Extensions_OutputTestCase
.
Table 8.1. OutputTestCase
Method | Meaning |
---|---|
void expectOutputRegex(string $regularExpression) | Set up the expectation that the output matches a $regularExpression . |
void expectOutputString(string $expectedString) | Set up the expectation that the output is equal to an $expectedString . |
bool setOutputCallback(callable $callback) | Sets up a callback that is used to, for instance, normalize the actual output. |
There are two other extensions to PHPUnit_Framework_TestCase
,
PHPUnit_Extensions_Database_TestCase
and
PHPUnit_Extensions_SeleniumTestCase
, that are covered
in Chapter 9 and Chapter 18,
respectively.
Prev | Next |
assertArrayHasKey()
assertClassHasAttribute()
assertClassHasStaticAttribute()
assertContains()
assertContainsOnly()
assertEqualXMLStructure()
assertEquals()
assertFalse()
assertFileEquals()
assertFileExists()
assertGreaterThan()
assertGreaterThanOrEqual()
assertLessThan()
assertLessThanOrEqual()
assertNull()
assertObjectHasAttribute()
assertRegExp()
assertSame()
assertSelectCount()
assertSelectEquals()
assertSelectRegExp()
assertStringEndsWith()
assertStringEqualsFile()
assertStringStartsWith()
assertTag()
assertThat()
assertTrue()
assertType()
assertXmlFileEqualsXmlFile()
assertXmlStringEqualsXmlFile()
assertXmlStringEqualsXmlString()
Copyright © 2005-2010 Sebastian Bergmann.