国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHPUnit袖珍指南之PHPUnit的目的

2024-05-04 23:03:59
字體:
來源:轉載
供稿:網友

  到此為止,我們只有兩個對array和內建函數sizeof()的測試。當我們開始測試大量的array_*()函數時,每個都需要一個測試。我們可以每個都從頭寫起。但是,更好的方法是一次性寫好一個測試基礎構架,以后就只用寫每個測試不同的部分。phpunit就是這樣一個基礎構架。

  例5展示了如何用phpunit重寫例4中的兩個測試。

  例5. 用phpunit測試 array和sizeof().

<?php
 require_once 'phpunit2/framework/testcase.php';

 class arraytest extends phpunit2_framework_testcase {
  public function testnewarrayisempty( ) {
   // 創建數組fixture。
   $fixture = array( );
 
   // 斷言數組fixture的大小是0。
   $this->assertequals(0, sizeof($fixture));
  }
  public function testarraycontainsanelement( ) {
   // 創建數組fixture。
   $fixture = array( );

   // 為數組fixture增加一個成員。
   $fixture[] = 'element';
 
   //斷言數組fixture的大小是1。
   $this->assertequals(1, sizeof($fixture));
  }
 }
?>

  例5告訴我們用phpunit來寫測試的基本步驟是:

  1.類class的測試類是classtest。

  2.classtest一般繼承phpunit2_ framework_testcase。

  3.測試是公有方法,沒有參數,名字是test*。

  4.在測試方法中,斷言函數,如assertequals()(見表6)用于斷言實際值是否匹配期望值。

  一個如phpunit的框架需要解決一系列問題,有些看起來互相沖突。測試必須同時滿足以下條件:

  易學

  測試必須容易學,否則,開發人員不會去學

  易開發

  測試必須容易開發,否則,開發人員不會去開發

  易讀

  測試代碼必須沒有外部關系,這樣測試本身不會在雜亂無章中迷失。

  容易執行

  測試應該很容易執行,執行的結果以一種清楚和明確的格式表達出來。

  快速執行

  測試應該執行的很快,這樣每天才能執行上千次。

  代碼隔離

  測試之間不能互相影響,測試順序的改變不應該影響結果。

  可組合的

  我們應該可以以任何組合來運行測試,這是代碼隔離的一個必然結果。

  這些約束條件有兩個主要的沖突:

  易學vs易開發


  測試通常不需要應用到編程全部的靈活性。很多測試工具提供了它們自己的測試腳本語言,這些語言只有書寫測試所需特性的最小集,因為沒有噪聲來干擾你的測試內容,寫出來的測試易讀易寫。但是學一種新的編織郵件和一套工具還是不方便的,容易混淆視聽。

  代碼隔離vs快速執行

  如果你想要一個測試的結果不影響另一個,每個測試在開始運行的階段,都需要創建測試的全專題,返回后又要恢復運行之前的狀態。可是,設置狀態需要的時間很長(如,連接到數據庫,用真實數據初始化到一個已知狀態)

  phpunit解決這個問題的辦法是采用php作為測試語言。有時,全功能的php對于書寫短小的,直接的測試是過于強大了,不過,我們利用的程序員已經有使用php的全部經驗。因為我們需要說服勉強的測試人員,降低書寫這些初始測試的門檻是及其重要的。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘潭县| 沙湾县| 金沙县| 阳高县| 合川市| 邵东县| 延长县| 泊头市| 孟津县| 沅江市| 铅山县| 揭阳市| 巨野县| 洪江市| 扎兰屯市| 扶余县| 乌鲁木齐县| 额敏县| 沈阳市| 潼关县| 大田县| 民和| 自治县| 佛山市| 应用必备| 蒙阴县| 湘潭市| 涟水县| 启东市| 页游| 金寨县| 准格尔旗| 饶河县| 甘孜| 宜城市| 黔南| 安新县| 三门峡市| 屯门区| 司法| 舟曲县|