以下都是在windows下進行,我的php版本是php-5.1.4-win32
因為phpunit要通過pear安裝,所以首先要安裝pear
安裝好pear後,在php的目錄下發現有乙個pear.bat,這個是pear安裝包用的程式,
在命令列進行php目錄,輸入 pear install phpunit2
即可,安裝完成。
在php目錄下會生成乙個phpunit.bat,這個是命令列下的測試命令。
我們可以把他複製到我們要測試程式的目錄下面。
在命令列下輸入 phpunit sampletest
就是對sampletest這個case進行測試了。
有二點需要注意的地方:
phpunit需要pear的benchmark包,所以要安裝 pear install benchmark即可。
在windows下安裝完成後還不能直接進行測試,執行測試程式時會出現 'php'不是內部或外部命令,也不是可執行的程式。的錯誤,經我一路跟蹤,最後在phpunit2/util/fileloader.php這個檔案裡找到了問題所在,這個檔案是載入測試檔案用的,同時使用php直譯器進行了語法檢查,shell_exec('php -l ' . escapeshellarg($filename));,而我的php.exe並沒有在系統的path中,所以出現了上述問題,一種辦法是將$output到include之前的**全部注釋掉,這樣就不用語法檢查了,還有一種辦法就是在系統path中加入php的安裝目錄。
搞單元測試的大概步驟是:編寫待測試類,編寫測試用例類,編寫測試類,測試。
單元測試首先就是要安裝測試的類庫了,用pear安裝phpunit,window下這樣操作,首先安裝pear,在pear下發現phpunit的頻道pear channel-discover pear.phpunit.de,然後安裝之pear install phpunit/phpunit(使用這條指令,將不會完全安裝phpunit的所有元素,請使用pear install --alldepsphpunit/phpunit),這時在php\pear會有phpunit.php和phpunit資料夾,這樣就安裝好了。
[php]
view plain
copy
?首先編寫待測試類,這裡用乙個計算器作為例子,計算器類為**一:
class calculator
}
編寫測試用例類,這個類引入了phpunit.php和待測試的計算器類,然後初始化待測試類,編寫斷言。
require_once("c8-2.php");
require_once("phpunit.php");
class calculatortest extends phpunit_testcase
//最後消亡的時候清除掉這個類
function teardown()
function testadd()
function testadd2()
}
最後編寫測試類,不編寫這個類也可以,在命令列下直接跑phpunitcalculatortest就行。
require_once("testc8-2.php");
require_once("phpunit.php");
//載入測試用例
$s = new phpunit_testsuite("calculatortest");
//測試
$r = phpunit::run($s);
//測試結果
echo $r->tostring();
//print_r($r);
<?php
require_once 'phpunit/framework.php';
require_once 'phpunit/textui/testrunner.php';//這裡引入了這個檔案
require_once 'demotest.php'; //引入了兩個測試類
require_once 'calculatortest.php';
class alltests
public static function suite()
}
首先編寫待測試類,這裡用乙個計算器作為例子,計算器類為**一:class calculator
} 編寫測試用例類,這個類引入了phpunit.php和待測試的計算器類,然後初始化待測試類,編寫斷言。
require_once("c8-2.php");
require_once("phpunit.php");
class calculatortest extends phpunit_testcase
//最後消亡的時候清除掉這個類
function teardown()
function testadd()
function testadd2()
} 最後編寫測試類,不編寫這個類也可以,在命令列下直接跑phpunitcalculatortest就行。
require_once("testc8-2.php");
require_once("phpunit.php");
//載入測試用例
$s = new phpunit_testsuite("calculatortest");
//測試
$r = phpunit::run($s);
//測試結果
echo $r->tostring();
//print_r($r);
<?php
require_once 'phpunit/framework.php';
require_once 'phpunit/textui/testrunner.php';//這裡引入了這個檔案
require_once 'demotest.php'; //引入了兩個測試類
require_once 'calculatortest.php';
class alltests
public static function suite()
}
在命令列執行phpunit alltests就可以了
PHPUnit安裝及使用
覆蓋率 進入 檢視自己php版本對應的phpunit版本 根據自己的php版本去選擇要安裝 的phpunit的版本 我的php是 7.1.33 我選擇 phpunit 7 進入臨時存放資料夾,執行如下操作 composer安裝phpunit擴充套件包到專案 composer require phpu...
如何使用PHPUnit進行測試?
phpunit是php語言的一種單元測試框架。大多數站點所有者都想要實現phpunit測試,因為這樣我們可以簡單地使用命令進行測試。如果你不知道phpunit,也不知道如何測試使用,那麼就按照下面的例子來學習吧。這裡我將給出乙個非常簡單的phpunit示例,以及它是如何從頭開始工作的。我用phpun...
PhpUnit和Ap框架同時使用
在資質二期專案中,先舉乙個簡單的phpunit例子 class testcase extends phpunit framework testcase 執行後可以正常執行。再舉乙個簡單的可以直接利用ap框架訪問資料庫的例子,3 require once start.php 4 5 6 testpat...