PHP單元測試利器 PHPUNIT深入用法(二)第1/2頁
在phpunit中,有兩個有用的方法markTestSkipped和markTestIncomplete。它們能允許你編寫的單元測試中不單是只有通過和失敗兩種結果。markTestSkipped能讓PHPUNIT不去執(zhí)行某個已經(jīng)編寫好的測試方法。舉個例子說明,比如下面的程序:
<?php
public function testThisMightHaveADb()
{
$myObject->createObject();
try {
$db = new Database();
$this->assertTrue($db->rowExists());
} catch (DatabseException $e) {
$this->markTestSkipped('This test was skipped because there was a database problem');
}
}
?>在上面的程序中,是一個連接數(shù)據(jù)庫后,判斷數(shù)據(jù)是否存在的測試方法,但如果考慮數(shù)據(jù)庫的連接異常的話,則應該在拋出異常時,使用markTestSkipped指出該測試方法應該是被忽略的,因為出現(xiàn)了異常,而注意的時,此時有可能你寫的代碼是正確的,只不過是出現(xiàn)了異常而已,這樣phpunit在輸出時就不會只是簡單的輸出fail。
而markTestIncomplete也有點類似,但有點不同的是,它是當開發(fā)者在編寫一個未完成的測試方法時使用的,標記出某個測試方法還沒編寫完成,同樣測試結果也不會是fail,只是告訴phpunit這個測試方法還沒編寫完成而已,例子如下:
<?php
public function testAreNotEnoughHours()
{
$this->markTestIncomplete("There aren't enough hours in the day to have my tests go green");
$trueVariable = true;
$this->assertTrue($trueVariable);
}
?>2、更深入了解phpunit中的斷言
在上一篇文章中,已經(jīng)基本講解了一些基本的phpunit中的斷言的使用,這里以一個例子,下面是一個類的代碼:
<?php
class Testable
{
public $trueProperty = true;
public $resetMe = true;
public $testArray = array(
'first key' => 1,
'second key' => 2
);
private $testString = "I do love me some strings";
public function __construct()
{
}
public function addValues($valueOne,$valueTwo) {
return $valueOne+$valueTwo;
}
public function getTestString()
{
return $this->testString;
}
}
?>我們編寫的單元測試代碼初步的框架如下:
<?php
class TestableTest extends PHPUnit_Framework_TestCase
{
private $_testable = null;
public function setUp()
{
$this->_testable = new Testable();
}
public function tearDown()
{
$this->_testable = null;
}
/** test methods will go here */
}
?>在上一篇文章中,已經(jīng)介紹了setUp方法和tearDown方法,這里的setUp方法中,建立了Testable()實例并保存在變量$_testable中,而在tearDown方法中,銷毀了該對象。
接下來,開始編寫一些斷言去測試,首先看assertTrue和assertFalase:
<?php
public function testTruePropertyIsTrue()
{
$this->assertTrue($this->_testable->trueProperty,"trueProperty isn't true");
}
public function testTruePropertyIsFalse()
{
$this->assertFalse($this->_testable->trueProperty, "trueProperty isn't false");
}
?>- Windows下安裝PHP單元測試環(huán)境PHPUnit圖文教程
- PHP單元測試利器 PHPUNIT深入用法(三)
- PHP單元測試利器 PHPUNIT初探
- PHP單元測試PHPUnit簡單用法示例
- PHP單元測試框架PHPUnit用法詳解
- 使用PHPUnit進行單元測試并生成代碼覆蓋率報告的方法
- php單元測試phpunit入門實例教程
- PHP使用phpunit進行單元測試示例
- PHPUnit + Laravel單元測試常用技能
- Windows下wamp php單元測試工具PHPUnit安裝及生成日志文件配置方法
- laravel單元測試之phpUnit中old()函數(shù)報錯解決
- PHPUnit 單元測試安裝與使用入門教程
相關文章
php使用array_rand()函數(shù)從數(shù)組中隨機選擇一個或多個元素
這篇文章主要介紹了php使用array_rand()函數(shù)從數(shù)組中隨機選擇一個或多個元素,需要的朋友可以參考下2014-04-04
PHP圖片處理之使用imagecopyresampled函數(shù)實現(xiàn)圖片縮放例子
這篇文章主要介紹了PHP圖片處理之使用imagecopyresampled函數(shù)實現(xiàn)圖片縮放例子,本文先是講解了imagecopyresampled函數(shù)的相關知識,然后給出了實現(xiàn)代碼例子,需要的朋友可以參考下2014-11-11
PHP實現(xiàn)壓縮圖片尺寸并轉為jpg格式的方法示例
這篇文章主要介紹了PHP實現(xiàn)壓縮圖片尺寸并轉為jpg格式的方法,涉及php針對圖片的讀取、計算、轉換、輸出等相關操作技巧,需要的朋友可以參考下2018-05-05
PHP數(shù)據(jù)庫編程之MySQL優(yōu)化策略概述
這篇文章主要介紹了PHP數(shù)據(jù)庫編程之MySQL優(yōu)化策略,簡單講述了mysql優(yōu)化的簡單技巧以及索引優(yōu)化、查詢優(yōu)化、存儲優(yōu)化等相關操作技巧,需要的朋友可以參考下2017-08-08
PHP操作MySQL的mysql_fetch_* 函數(shù)的常見用法教程
這篇文章主要介紹了PHP中操作MySQL的mysql_fetch函數(shù)的常見用法教程,文中提到了其下fetch_array和mysql_fetch_row以及mysql_fetch_object函數(shù)的使用,需要的朋友可以參考下2015-12-12
PHP中批量生成靜態(tài)html(命令行下運行PHP)
這篇文章主要介紹了如何通過命令行下運行PHP命令,減少web請求,讓網(wǎng)站運行的更穩(wěn)定,生成速度也更快2014-04-04

