W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
可以將測試用例或者測試套件包裝在 PHPUnit_Extensions_TestDecorator
的子類中并運(yùn)用 Decorator(修飾器)設(shè)計(jì)模式來在測試運(yùn)行前后執(zhí)行一些動作。
PHPUnit 了包含了一個具體的測試修飾器:PHPUnit_Extensions_RepeatedTest
。它用于重復(fù)運(yùn)行某個測試,并且只在全部循環(huán)中都成功時計(jì)為成功。
Example?14.5, “RepeatedTest 修飾器”展示了測試修飾器 PHPUnit_Extensions_RepeatedTest
的一個刪減版本,用以說明如何編寫你自己的測試修飾器。
Example?14.5.?RepeatedTest 修飾器
<?php
require_once 'PHPUnit/Extensions/TestDecorator.php';
class PHPUnit_Extensions_RepeatedTest extends PHPUnit_Extensions_TestDecorator
{
private $timesRepeat = 1;
public function __construct(PHPUnit_Framework_Test $test, $timesRepeat = 1)
{
parent::__construct($test);
if (is_integer($timesRepeat) &&
$timesRepeat >= 0) {
$this->timesRepeat = $timesRepeat;
}
}
public function count()
{
return $this->timesRepeat * $this->test->count();
}
public function run(PHPUnit_Framework_TestResult $result = NULL)
{
if ($result === NULL) {
$result = $this->createResult();
}
for ($i = 0; $i < $this->timesRepeat && !$result->shouldStop(); $i++) {
$this->test->run($result);
}
return $result;
}
}
?>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: