本文地址javascript
分享提綱:php
1.概述html
2.安裝java
3.編寫第一個測試用例linux
4.PHPUnit高級git
5.參考github
1)【測試框架】web
它是一款輕量級的PHP測試框架,是一個xUnit的體系結構的單元測試框架。複雜的項目,經過單元測試可以快速排查bug,有效減小bug的產生。簡單的項目,使用php自帶的var_dump()
、print_r()
也能很方便的調試bug。PHPUnit經過運行測試用例裏的斷言(例如判斷返回結果不爲空),檢查代碼是否符合預期。json
安裝方式有兩種。一種是使用phar包,一種是使用Composer。bash
mac下的安裝請參考 http://blog.csdn.net/u013166311/article/details/52622560
(能夠下載低版本的phpunit wget https://phar.phpunit.de/phpunit-4.0.14.phar)
因而打開終端,先pear version 驗證是否安裝了pear。
若是沒有安裝$sudo PHP /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
用$ pear version檢測安裝成功
$ sudo pear upgrade-all 更新。
最後用如下命令安裝成功:
$ wget https://phar.phpunit.de/phpunit-4.0.14.phar
$ chmod +x phpunit.phar
$ sudo mv phpunit.phar /usr/local/bin/phpunit
2.1)使用phar包
最新版的穩定版phar包是5.7,下載地址 https://phar.phpunit.de/phpunit.phar
phar5.7發佈於2016年12月2日,於2018年2月2日結束支持。
PHPUnit 5.7 支持 PHP 5.6, PHP 7.0, 和 PHP 7.1。
注意:PHP的版本比較低,能夠下載低版本的 phpunit,例如 wget https://phar.phpunit.de/phpunit-4.0.14.phar
運行方法:
# 通用 php phpunit.phar --version # linux chmod +x phpunit.phar sudo mv phpunit.phar /usr/local/bin/phpunit phpunit --version
能夠查看版本號。
2.2)使用Composer
若是用 Composer 來管理項目的依賴關係,只要在項目的composer.json 文件中簡單地加上對 phpunit/phpunit
的依賴關係便可。下面是一個最小化的 composer.json
文件的例子,只定義了一個對 PHPUnit 5.7
的開發時依賴:
{ "require-dev": { "phpunit/phpunit": "5.5.*" } }
要經過 Composer
完成系統級的安裝,能夠運行:
composer global require "phpunit/phpunit=5.5.*"
請確保 path 變量中包含有 ~/.composer/vendor/bin/
。
3.1)新建文件夾Testcase
,編寫SayHello.php:
<?php class SayHello{ public function printHello(){ echo 'Hello'; return 'Hello'; } } ?>
3.2)新建測試用例SayHelloTest.php
<?php require_once 'SayHello.php'; class SayHelloTest extends PHPUnit_Framework_TestCase { public function setUp(){ } public function tearDown(){ } public function testConnectionIsValid(){ $hi = new SayHello(); $this->assertTrue($hi->printHello() == 'Hello'); } }
編寫完成後,切換到phpunit.phar所在目錄命令行執行:
$ php phpunit.phar Testcase/SayHelloTest.php
輸出結果:
PHPUnit 5.7.4 by Sebastian Bergmann and contributors. . 1 / 1 (100%)Hello Time: 130 ms, Memory: 10.00MB OK (1 test, 1 assertion)
結果代表:
測試經過,1個測試方法,1個斷言,沒有失敗。
這裏注意的是:
一、全部以Test結尾的類均爲測試用例;
二、全部以test開頭的方法均是測試方法,會自動運行;
三、setUp是每一個測試用例最早運行的方法,tearDown是每一個測試用例最後運行的方法;
四、assertTrue
用於判斷結果是否爲true。
4.1) 模擬對象MOCK
4.2) 一些常識
@test
標註將其標記爲測試方法@depends
標註來表達測試方法之間的依賴關係: 被依賴的函數的返回值會被當作依賴着的輸入參數 5.0)【好】PHPUnit手冊
5.1)開始使用 PHPUnit – PHP測試框架
5.2)web3d/TPUnit: ThinkPHP PHPUnit框架集成
5.3)[PHP]PHPUnit安裝配置及樣例 | CoinIdea的技術分享博客
5.4)《xUnit Test Patterns》學習筆記系列 - CoderZh - 博客園
5.5)【好】PHPUnit筆記