| Prev | Next |
PHPUnit では、テストクラスの基底クラスである PHPUnit_Framework_TestCase を拡張するための方法を提供しています。
メソッドの実行結果を確かめる方法として、(echo や print などによる) 出力が期待通りのものかを調べたいこともあるでしょう。 PHPUnit_Extensions_OutputTestCase クラスは、PHP の 出力バッファリング 機能を使用してこの仕組みを提供します。
例 8.1 では、PHPUnit_Extensions_OutputTestCase のサブクラスを作成し、期待する出力内容を expectOutputString() メソッドで設定する方法を示します。 期待通りの出力が得られなかった場合は、そのテストは失敗という扱いになります。
例 8.1: 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.5.14 by Sebastian Bergmann.
.F
Time: 0 seconds, Memory: 5.50Mb
There was 1 failure:
1) OutputTest::testExpectBarActualBaz
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-bar
+baz
FAILURES!
Tests: 2, Assertions: 2, Failures: 1.
表 8.1 PHPUnit_Extensions_OutputTestCase が提供するメソッドをまとめたものです。
表8.1 OutputTestCase
| メソッド | 意味 |
|---|---|
void expectOutputRegex(string $regularExpression)
|
出力が正規表現 $regularExpression にマッチするであろうという予測を設定します。
|
void expectOutputString(string $expectedString)
|
出力が文字列 $expectedString と等しくなるであろうという予測を設定します。
|
bool setOutputCallback(callable $callback)
|
たとえば出力時の正規化などに使用するコールバック関数を設定します。 |
PHPUnit_Framework_TestCase には、これら以外にも PHPUnit_Extensions_Database_TestCase や PHPUnit_Extensions_SeleniumTestCase といった拡張があります。 これらについては、それぞれ 第 9 章 と 第 18 章 で説明します。
| Prev | Next |
assertArrayHasKey()
assertClassHasAttribute()
assertClassHasStaticAttribute()
assertContains()
assertContainsOnly()
assertEmpty()
assertEqualXMLStructure()
assertEquals()
assertFalse()
assertFileEquals()
assertFileExists()
assertGreaterThan()
assertGreaterThanOrEqual()
assertInstanceOf()
assertInternalType()
assertLessThan()
assertLessThanOrEqual()
assertNull()
assertObjectHasAttribute()
assertRegExp()
assertStringMatchesFormat()
assertStringMatchesFormatFile()
assertSame()
assertSelectCount()
assertSelectEquals()
assertSelectRegExp()
assertStringEndsWith()
assertStringEqualsFile()
assertStringStartsWith()
assertTag()
assertThat()
assertTrue()
assertType()
assertXmlFileEqualsXmlFile()
assertXmlStringEqualsXmlFile()
assertXmlStringEqualsXmlString()
Copyright © 2005-2012 Sebastian Bergmann.