<更新記録>
2008年 6月 2日
執筆

姉妹サイトから検索 Web検索

SWT - JavaでGUIプログラミング
きままにインデックス
JavaScriptノート
ゴルフ道具研究所

PHPUnit 出力結果をテストする

PHPUnit_Extensions_OutputTestCaseクラスを継承すると、 echoprint等による標準出力結果をテストすることができます。

class PHPUnit_Extensions_OutputTestCase extends PHPUnit_Framework_TestCase {

	/* 出力結果を正規表現でチェックする */
	void expectOutputRegex(string $regularExpression);
	
	/* 出力結果を文字列でチェックする */
	void expectOutputString(string $expectedString);
	
	
	bool setOutputCallback(callable $callback);
}

例は本家より抜粋。

OutputTest.php
<?php
require_once 'PHPUnit/Extensions/OutputTestCase.php';
 
class OutputTest extends PHPUnit_Extensions_OutputTestCase
{
	/**
	 * 'foo'が表示されることをテスト
	 */
	public function testExpectFooActualFoo()
	{
		$this->expectOutputString('foo');
		print 'foo';
	}
 
	/**
	 * 'bar'が表示されることをテスト。
	 * (実際には'baz'が表示されるのでテストは失敗となる)
	 */
	public function testExpectBarActualBaz()
	{
		$this->expectOutputString('bar');
		print 'baz';
	}
}
?>
phpunit OutputTest
PHPUnit 3.2.10 by Sebastian Bergmann.

.F

Time: 0 seconds

There was 1 failure:

1) testExpectBarActualBaz(OutputTest)
Failed asserting that two strings are equal.
expected string <bar>
difference      <  x>
got string      <baz>

FAILURES!
Tests: 2, Failures: 1.

Powered by VeryEasyCMS