我正在構建一個測試腳本,用於檢查一組命令的性能。在測試失敗之前,測試腳本需要讓它運行一段特定的時間。PHPUnit性能/測試超時
我在PHPUnit文檔網站中找到了PerformanceTestCase,但是當我嘗試使用它時,我意識到它的舊功能尚未包含在新版本中。 (該文檔是PHPUnit 3.0,我的版本是3.5)。
PHPUnit 3.5中是否有這個功能的等價物,我該如何使用它?
我正在構建一個測試腳本,用於檢查一組命令的性能。在測試失敗之前,測試腳本需要讓它運行一段特定的時間。PHPUnit性能/測試超時
我在PHPUnit文檔網站中找到了PerformanceTestCase,但是當我嘗試使用它時,我意識到它的舊功能尚未包含在新版本中。 (該文檔是PHPUnit 3.0,我的版本是3.5)。
PHPUnit 3.5中是否有這個功能的等價物,我該如何使用它?
今天我遇到了一個微妙的問題 - 我需要測試外部HTTP調用發生在分配的時間內。
而不是建立另一個迴路或採取$開始和$結束時間讀數 - 我露出TIMED_OUT PARAM,這裏詳細http://www.php.net/manual/en/function.stream-get-meta-data.php
while (!feof($fp)) {
$info = stream_get_meta_data($fp);
if ($info['timed_out']) {
$this->timed_out = true;
fclose($fp);
throw new Exception("Request timed out");
}
else {
$response .= fgets($fp, 128);
}
}
fclose($fp);
嗯,你可以簡單地做這樣的事情
public function testFoo() {
$tStart = microtime(true);
// your time critical commands
$tDiff = microtime(true) - $tStart;
$this->assertLessThan($maxTime, $tDiff, 'Took too long');
}
當然,這意味着你的命令將不被完成之前被中斷。
而國際海事組織單位測試並不意味着測試性能。