thinkphp3.2.3怎樣使用think-phpunit來進行單元測試的介紹

來源:互聯網
上載者:User
這篇文章主要介紹了關於thinkphp3.2.3怎樣使用think-phpunit來進行單元測試的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

問題描述

thinkphp3.2.3官方並沒有提供單元測試的工具。隨著項目的增大,要保證代碼的健壯性,單元測試不得不提上議程。經實踐,https://github.com/snowair/think-phpunit 是個不錯的選擇,但在使用過程中出現const 未定義的錯誤。具體報錯資訊為:syntax error, unexpected 'const' (T_CONST),

問題分析

const關鍵字提示法錯誤,說明當前的PHPUNIT並不支援該文法,查閱官方文檔發現,constphp5.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 composerVCS版本控制部分,修改phpunit的版本號碼。

  1. fork原項目至自己的倉庫。比如我fork後的項目地址為:https://github.com/callme119/think-phpunit.

  2. https://github.com/callme119/think-phpunit中的composer.json檔案,將phpunit的版本修改為^5.0

  3. 修改項目引用的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/...

總結

  1. 如果你只要想正常的使用snowair/think-phpunit, 那麼請參閱https://github.com/callme119/think-phpunit進行安裝即可。

  2. 如果你是其它的項目的版本問題,請參閱本文,利用github來進行修複後,並在自己項目的composer.json中,增加repositories屬性來指明特定倉庫。

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.