這篇文章主要介紹了關於thinkphp3.2.3怎樣使用think-phpunit來進行單元測試的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
thinkphp3.2.3官方並沒有提供單元測試的工具。隨著專案的增大,要確保程式碼的健壯性,單元測試不得不提上日程。經過實踐,https://github.com/snowair/think-phpunit
是個不錯的選擇,但在使用過程中出現const
未定義的錯誤。具體報錯資訊為:syntax error, unexpected 'const' (T_CONST),
const
#關鍵字提示語法錯誤,說明目前的PHPUNIT
並不支援該語法,查閱官方文件發現,const
為php5.3
新引用的功能。所以根本原因應該是因為PHPUNIT
版本過低所引起的。
const定義常數的官方網址說明:http://php.net/manual/zh/lang...
我們查看vender\snowair/composer.json
發現以下程式碼:
"require": { "php":">=5.4", "phpunit/phpunit": "^4.7" }
即要求phpunit
版本為>=4.7 && <5.0
。至此問題原因確認。至phpunit
版本過低引發的關鍵字錯誤。
參考php composer
的VCS
版本控制部分,修改phpunit
的版本號。
fork
原項目至自己的倉庫。例如我fork
後面的專案網址為:https://github.com/callme119/think-phpunit
.
https://github.com/callme119/think-phpunit
中的composer.json文件,將phpunit的版本修改為^5.0
修改項目引用的VCS部分。增加repositories
屬性。
例如我的專案引用,修改後為:
{ "name": "topthink/thinkphp", "description": "the ThinkPHP Framework", "type": "framework", "keywords": ["framework","thinkphp","ORM"], "homepage": "http://thinkphp.cn/", "license": "Apache2", "authors": [ { "name": "liu21st", "email": "liu21st@gmail.com" } ], "require": { "php": ">=5.3.0" }, "autoload": { "classmap": ["Application","ThinkPHP/Library"] }, "autoload-dev": { "psr-0": { "": "test" } }, "repositories": [ { "type": "vcs", "url": "https://github.com/callme119/think-phpunit" } ], "require-dev": { "snowair/think-phpunit": "dev-master" }, "minimum-stability": "dev" }composer VCS官方網址: https://docs.phpcomposer.com/...總結
如果你只要想正常的使用
snowair/think-phpunit
, 那麼請參閱https://github.com/callme119 /think-phpunit
進行安裝即可。如果你是其它的專案的版本問題,請參閱本文,利用github來進行修復後,並在自己專案的
composer.json
中,增加repositories
屬性來指明特定倉庫。以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
以上是thinkphp3.2.3怎麼使用think-phpunit來進行單元測試的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!