亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP單元測(cè)試?yán)?PHPUNIT深入用法(二)第1/2頁(yè)

 更新時(shí)間:2011年03月06日 21:46:50   作者:  
在上一篇PHP單元測(cè)試?yán)鳎篜HPUNIT初探文章中,我們對(duì)phpunit有了一個(gè)初步的認(rèn)識(shí),在本文中將繼續(xù)深入講解下phpunit中的一些用法。
1、markTestSkipped和markTestIncomplete

  在phpunit中,有兩個(gè)有用的方法markTestSkipped和markTestIncomplete。它們能允許你編寫(xiě)的單元測(cè)試中不單是只有通過(guò)和失敗兩種結(jié)果。markTestSkipped能讓PHPUNIT不去執(zhí)行某個(gè)已經(jīng)編寫(xiě)好的測(cè)試方法。舉個(gè)例子說(shuō)明,比如下面的程序:

<?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');
  }
}
?>

   在上面的程序中,是一個(gè)連接數(shù)據(jù)庫(kù)后,判斷數(shù)據(jù)是否存在的測(cè)試方法,但如果考慮數(shù)據(jù)庫(kù)的連接異常的話(huà),則應(yīng)該在拋出異常時(shí),使用markTestSkipped指出該測(cè)試方法應(yīng)該是被忽略的,因?yàn)槌霈F(xiàn)了異常,而注意的時(shí),此時(shí)有可能你寫(xiě)的代碼是正確的,只不過(guò)是出現(xiàn)了異常而已,這樣phpunit在輸出時(shí)就不會(huì)只是簡(jiǎn)單的輸出fail。

  而markTestIncomplete也有點(diǎn)類(lèi)似,但有點(diǎn)不同的是,它是當(dāng)開(kāi)發(fā)者在編寫(xiě)一個(gè)未完成的測(cè)試方法時(shí)使用的,標(biāo)記出某個(gè)測(cè)試方法還沒(méi)編寫(xiě)完成,同樣測(cè)試結(jié)果也不會(huì)是fail,只是告訴phpunit這個(gè)測(cè)試方法還沒(méi)編寫(xiě)完成而已,例子如下:

<?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中的斷言的使用,這里以一個(gè)例子,下面是一個(gè)類(lèi)的代碼:

<?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;
  }
}
?>

   我們編寫(xiě)的單元測(cè)試代碼初步的框架如下:

<?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()實(shí)例并保存在變量$_testable中,而在tearDown方法中,銷(xiāo)毀了該對(duì)象。

  接下來(lái),開(kāi)始編寫(xiě)一些斷言去測(cè)試,首先看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");
}
?>

相關(guān)文章

  • php中g(shù)etservbyport與getservbyname函數(shù)用法實(shí)例

    php中g(shù)etservbyport與getservbyname函數(shù)用法實(shí)例

    這篇文章主要介紹了php中g(shù)etservbyport與getservbyname函數(shù)用法,以實(shí)例形式分析了getservbyport與getservbyname函數(shù)獲取server端的端口等信息的方法,需要的朋友可以參考下
    2014-11-11
  • PHP一些常用的正則表達(dá)式字符的一些轉(zhuǎn)換

    PHP一些常用的正則表達(dá)式字符的一些轉(zhuǎn)換

    一些前臺(tái)的正則運(yùn)行,你可以修改下成為php的
    2008-07-07
  • PHP 文件上傳源碼分析(RFC1867)

    PHP 文件上傳源碼分析(RFC1867)

    文件上傳,一般分為倆種方式FTP和HTTP, 對(duì)于我們的互聯(lián)網(wǎng)應(yīng)用來(lái)說(shuō): FTP上傳雖然傳輸穩(wěn)定, 但是易用性和安全性都是個(gè)問(wèn)題.
    2009-10-10
  • PHP之修改php.ini文件上傳大小的配置問(wèn)題案例講解

    PHP之修改php.ini文件上傳大小的配置問(wèn)題案例講解

    這篇文章主要介紹了PHP之修改php.ini文件上傳大小的配置問(wèn)題案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • php中檢查文件或目錄是否存在的代碼小結(jié)

    php中檢查文件或目錄是否存在的代碼小結(jié)

    檢查文件或目錄是否存在 ,我們使用了php中常用的函數(shù)file_exists,這個(gè)函數(shù)就可以實(shí)現(xiàn)我想要的功能,下面大家慢慢參考一下
    2012-10-10
  • 初識(shí)php MVC

    初識(shí)php MVC

    MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě),一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶(hù)交互的同時(shí),不需要重新編寫(xiě)業(yè)務(wù)邏輯。
    2014-09-09
  • input file獲得文件根目錄簡(jiǎn)單實(shí)現(xiàn)

    input file獲得文件根目錄簡(jiǎn)單實(shí)現(xiàn)

    js獲得file根目錄,然后賦值給hidden類(lèi)型input,然后就可以交給php or jsp 處理了,感興趣的朋友可以參考下哈,希望可以幫助到你
    2013-04-04
  • 一文搞懂PHP中的DI依賴(lài)注入

    一文搞懂PHP中的DI依賴(lài)注入

    依賴(lài)注入DI 其實(shí)本質(zhì)上是指對(duì)類(lèi)的依賴(lài)通過(guò)構(gòu)造器完成 自動(dòng)注入。本文將通過(guò)一些示例帶大家深入了解一下PHP中的DI依賴(lài)注入,需要的可以參考一下
    2022-08-08
  • php從身份證獲取性別和出生年月

    php從身份證獲取性別和出生年月

    本文主要介紹了php從身份證獲取性別和出生年月的方法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • 編譯PHP報(bào)錯(cuò)configure error Cannot find libmysqlclient under usr的解決方法

    編譯PHP報(bào)錯(cuò)configure error Cannot find libmysqlclient under usr的

    這篇文章主要介紹了Linux上編譯PHP報(bào)錯(cuò)configure error Cannot find libmysqlclient under usr的解決方法,需要的朋友可以參考下
    2014-06-06

最新評(píng)論