單元測試這個詞彙聽起來很耳熟,很膩害的亞子,但是一直沒有嘗試過。經常聽人家講,乙個專案有良好的單元測試**,重構的勇氣都大很多。摩拳擦掌,我們也來試試。
一、windows下安裝phpunit
1、php檔案包(phar)
2)根據自己的php版本選擇對應的phpunit檔案包版本。
2、配置環境變數
將d:/phpunit配置到環境變數中
3、執行命令
echo @php "%~dp0phpunit-8.5.5.phar" %* > phpunit.cmd
回車之後,會生成乙個phpunit.cmd的檔案
4、檢查是否安裝成功
二、在phpstorm中配置使用phpunit
1.配置cli interpreters
3.配置單元測試的目錄
4.執行
三、使用
因為前面已經在ide中引入了.phar的檔案,所以下面直接用就可以了
moneytest.php:必須繼承testcase.php類
1測試結果<?php
2use
phpunit\framework\testcase;
3require_once "money.php";
4class moneytest extends
testcase
513 }
將moneytest.php中assertequals()方法中斷言值改為-8,和預期的不一樣試試
1測試結果<?php
2use
phpunit\framework\testcase;
3require_once "money.php";
4class moneytest extends
testcase
513 }
更多的測試使用方法請看官網用例
2、phpunit 規定了乙個測試類必須遵守如下的規定:
1)單元測試類名必須以 test 結尾,
2)必須繼承 \phpunit\framework\testcase 基類
上面的規定是必須遵守的,如果**沒有遵守規定 phpunit 不會把他當做單元測試**。除了以上的兩條,還有一些良好的編碼習慣可以參考:
1)單元測試**都放在 test 目錄下。
2)每個單元測試類以被測試的類名開頭。例如被測試類為 calculateservice,那麼單元測試類應該為 calculateservicetest。
3)每個單元測試函式應該為被測試函式名結尾。例如被測試函式為 abs,那麼單元測試函式應該為 testabs。
根據上面的規範,編寫
3、phpunit中常用的幾個斷言
一般常用測試無非就是 "斷言",其實就是看看產生的結果是不是符合預期,如果是,那就證明,已經測試通過,否則,失敗,說明邏輯處理,存在一定的差異,導致不符合預期。
asserttrue/assertfalse 斷言是否為真值還是假assertequals 判斷輸出是否和預期的相等
assertgreaterthan 斷言結果是否大於某個值,同樣的也有lessthan(小於),greaterthanorequal(大於等於),
lessthanorequal (小於等於).
assertcontains 判斷輸入是否包含指定的值
asserttype 判斷是否屬於指定型別
assertnull 判斷是否為空值
assertfileexists 判斷檔案是否存在
assertregexp 根據正規表示式判斷
PHPUnit 在 windows 下的安裝和配置
配置 path 環境變數 計算機右擊屬性 高階系統設定 環境變數 在系統變數下找到 path 一欄,選中,編輯。新增 phpunit 路徑 d server phpunit 到最後。注意 不要忘記。按快捷鍵win r 輸入cmd並回車。開啟 cmd 命令視窗,進入phpunit 的檔案目錄。d se...
在windows下安裝apache和php
注意 apache的配置檔案中loadmodule php5 module c php php5apache2.dll這個地方要改為php5apache2 2.dll php的windows安裝版好像檔案編譯不符合執行緒安全性,但是.zip檔案符合執行緒安全性,但是缺少php5ts.dll檔案,所以...
pear包安裝phpunit的方法
phpunit可以通過php擴充套件和程式庫 peae 獲得。pear是可重用php元件的框架和分發系統。安裝phpunit可以通過pear安裝程式命令獲得 pear install phpunit2 根據pear的版本命名標準,適用於php5的phpunit包稱為phpunit2。phpunit是...