亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > PHPUnit
phpunit和php單元測試體驗
作者:網絡轉載 發布時間:[ 2014/1/2 15:24:55 ] 推薦標簽:php phpunit 單元測試

前段時間的一個項目中,由于開發工程師時間比較緊,沒時間進行單元測試。所以我臨時替補作單元測試。個人對phpunit了解不是很深入,本文只是對phpunit框架做簡要介紹并寫一些使用的體驗。有誤之處還請多多指證。

  和其他的Xunit測試框架一樣,phpunit框架主要分為以下部分:

      TestCase --測試用例
      TestSuite --測試套件(我習慣稱其為測試用例集)
      Assert--斷言(我習慣稱其為驗證方式)
      TestResult--測試結果

  對于testcase,phpunit中除了一般的testcase,還包含了Incompletetestcase(未完成的)和skiptestcase(跳過的測試用例)。

  testcase是單元測試的基本組成部分,每個testcase均包含以下部分:

    Setup()---測試前的初始化,執行每個testMethod前均會執行
    Teardown()--測試完成后恢復,執行完每個testMethod后均會執行
    testMethod()--測試方法(測試點)

寫phpunit測試腳本時,可以通過phpunit Skeleton 生成單元測試的腳本結構,然后在結構中填寫測試用例。

如果不用skeleton生成,自己寫也很方便。

phpunit的測試文件包含以下部分:

引入必要的文件

       require 'x.php'--被測試的php文件
       rquire 'phpunitpathphpunitframework'---  phpunit的framewok文件

創建一個從phpunit frame繼承的類

class XXtest extends PHPUnit_Framework_TestCase

 [初始化公共的參數]

  public $para1='';

  public $para2='';

寫setup和teardown函數

 public function setUp() {}

 public function tearDown() {}

 注意,每運行一個test的函數,均會首先運行setup,每運行完一個函數,均會運行teardown. 寫這2個函數時需要注意。

 下一步是寫測試函數了,比如測試

  public function sum(a,b)

  {return a+b;}

 寫測試函數時和測試用例是對應的,我們首先測試正常情況下求和是否正確,testXX函數可以如下:

  public function testSumNormal ()                                                      
     {

  coding....

  assertSame(expectresult,actualcode,message)

}

 所有的測試函數均已test開頭,一般通過assert..驗證結果是否正確。

寫完單元測試腳本后,下一步是執行測試,簡單的命令是:phpunit xxx.php 更加詳細的命令如下: phpunit --log-xml(log 文件格式) 文件路徑/文件名 --coverage-html(代碼覆蓋文件格式) 文件路徑/文件名 單元測試用例類 單元測試文件 如:phpunit --log-xml path/createAlbumlog --coverage-html path/logs/ createAlbumtest createAlbum.php 命令執行過程中,.--表示成功,e--代表error, f--代表失敗, 執行完成后會顯示測試用例成功、失敗和出錯情況。也可以通過查看log查看測試情況,coverage文件可以查看單元測試腳本對測試文件代碼覆蓋率情況。

 自己感覺單元測試過程中需注意以下幾個方面:

 1、各測試用例(testXXX)的數據耦合度要低。如果耦合度較高的話,如果前一個測試用例失敗的話,之后的測試用例會出現error,無法繼續。

 2、測試用例盡量覆蓋各邏輯分支,保證測試覆蓋率。

 3、測試用例設計和非單元測試的用例設計方法一致,針對一個方法測試需包含:正常測試、異常測試和邊界測試等。

 4、合理的利用setUp合tearDown, 每執行一個testXX時,都首先運行setUP,執行完testXX后,都會運行tearDown, 因此可以把各個測試用例開始都需要初始化且初始化值一樣的參數放到setUP中,而執行完后需要unset的參數放到tearDown函數中。

 5、用phpunit skelon 生成測試框架時,只有.php文件才可以,測試其他格式的文件如 inc格式文件無法生成的。可以修改文件名后在生成。

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 最近中文字幕高清字幕 | 亚洲激情成人 | 青青成人福利国产在线视频 | 日本sm极度另类视频 | 国产精品午夜剧场 | 男女深夜福利 | 国产高清视频青青青在线 | 韩国videos18高清hd | 午夜免费福利影院 | 一级骚片 | 日本一道高清 | 欧美日韩亚洲视频 | 男人把女人靠到爽痛视频 | 免费看h片的网站 | 最近中文字幕完整视频高清1 | 一本无线乱码不卡一二三四 | 91福利免费体验区观看区 | 国产高清免费的视频 | 日韩欧美亚洲视频 | 国产99热在线观看 | 天天射天天干天天操 | 欧美日韩国产在线播放 | 欧洲精品视频在线观看 | 草草视频在线观看 | 操操网站 | 成人网中文字幕色 | 夜色私人影院永久地址入口 | 男人和女人日批视频 | 国产全黄a一级毛片 | 一级特黄特黄的大片免费 | 日韩三级国产 | 欧洲亚洲一区 | 国产精品手机网站 | 成人欧美一区二区三区在线观看 | 亚洲欧美日韩在线 | 91蝌蚪国产 | 级毛片久久久毛片精品毛片 | 亚洲国产经典 | h片在线观看网站 | 一级黄色片网 | 欧美怡红院在线观看 |