W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
并非所有測(cè)試都能在任何環(huán)境中運(yùn)行。比如說(shuō),考慮這樣一種情況:一個(gè)數(shù)據(jù)庫(kù)抽象層,針對(duì)其所支持的各種數(shù)據(jù)庫(kù)系統(tǒng)有多個(gè)不同的驅(qū)動(dòng)程序。針對(duì) MySQL 驅(qū)動(dòng)程序的測(cè)試當(dāng)然只在 MySQL 服務(wù)器可用才能運(yùn)行。
Example?7.2, “跳過(guò)某個(gè)測(cè)試” 展示了一個(gè)測(cè)試用例類(lèi) DatabaseTest
,它有一個(gè)測(cè)試方法 testConnection()
。在測(cè)試用例類(lèi)的 setUp()
模板方法中,檢查了 MySQLi 擴(kuò)展是否可用,并且在擴(kuò)展不可用時(shí)用 markTestSkipped()
方法來(lái)跳過(guò)此測(cè)試。
Example?7.2.?跳過(guò)某個(gè)測(cè)試
<?php
class DatabaseTest extends PHPUnit_Framework_TestCase
{
protected function setUp()
{
if (!extension_loaded('mysqli')) {
$this->markTestSkipped(
'The MySQLi 擴(kuò)展不可用。'
);
}
}
public function testConnection()
{
// ...
}
}
?>
在 PHPUnit 命令行測(cè)試執(zhí)行器的輸出中,被跳過(guò)的測(cè)試記為 S
,如下例所示:
phpunit --verbose DatabaseTest
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
S
Time: 0 seconds, Memory: 3.95Mb
There was 1 skipped test:
1) DatabaseTest::testConnection
The MySQLi extension is not available.
/home/sb/DatabaseTest.php:9
OK, but incomplete or skipped tests!
Tests: 1, Assertions: 0, Skipped: 1.
Table?7.2, “用于跳過(guò)測(cè)試的 API”列舉了用于跳過(guò)測(cè)試的 API。
Table?7.2.?用于跳過(guò)測(cè)試的 API
方法 | 含義 |
---|---|
void markTestSkipped() |
將當(dāng)前測(cè)試標(biāo)記為已跳過(guò)。 |
void markTestSkipped(string $message) |
將當(dāng)前測(cè)試標(biāo)記為已跳過(guò),并用 $message 作為說(shuō)明信息。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: