PHPUnit_Extensions_PerformanceTestCaseクラスを継承することで、 メソッド等の処理が一定時間内に終わるかどうかをテストすることができます。
class PHPUnit_Extensions_PerformanceTestCase {
/* テストケースが何秒以内に終了すれば合格なのかを指定する。 */
void setMaxRunningTime(int $maxRunningTime);
/* setMaxRunningTime()メソッドにより指定された秒数を取得する。 */
integer getMaxRunningTime();
}
<?php
require_once 'PHPUnit/Extensions/PerformanceTestCase.php';
class PerformanceTest extends PHPUnit_Extensions_PerformanceTestCase
{
/**
* このテストケースが2秒以内に終わることを期待。
* 実際に1秒sleepするだけだから、合格となる。
*/
public function testPerformance()
{
$this->setMaxRunningTime(2);
sleep(1);
}
}
?>