摘要:最近團隊在不斷完善項目中的單元測試用例,會用到代碼覆蓋率分析,本來以為應該默認安裝了,所以使用來生成報告,但是執行后提示如下錯誤這是因為沒有安裝或啟用導致。
最近團隊在不斷完善項目中的單元測試用例,會用到代碼覆蓋率分析,本來以為 homestead 應該默認安裝了 xdebug ,所以使用 phpunit --coverage-html ./tests/codeCoverage 來生成 html 報告,但是執行后提示如下錯誤
Error: No code coverage driver is available
這是因為沒有安裝或啟用 xdebug 導致。
個人環境:
PHP 7.2.0-1+ubuntu16.04.1
install xdebug$ wget https://xdebug.org/files/xdebug-2.6.0.tgz $ tar xvzf xdebug-2.6.0.tgz $ cd xdebug-2.6.0 $ phpize7.2 $ ./configure --enable-xdebug $ make $ sudo make installenable xdebug for php
find /usr/ -name "xdebug.so"
/usr/lib/php/20170718/xdebug.so //剛剛安裝的 xdebug 2.6.0 版本 /usr/lib/php/20131226/xdebug.so /usr/lib/php/20160303/xdebug.so /usr/lib/php/20151012/xdebug.so
vi /etc/php/7.2/cli/php.ini
添加如下代碼到 php.ini 結尾處
zend_extension="/usr/lib/php/20170718/xdebug.so" xdebug.remote_enable = 1 xdebug.remote_connect_back = 1 xdebug.remote_port = 9000 xdebug.max_nesting_level = 500build code coverage report
有兩種方法:
1.直接執行 phpunit --coverage-html ./tests/codeCoverage 命令
2.在 phpunit.xml 添加如下代碼:
然后直接執行 phpunit 即可。
完成會在 tests/codeCoverage 目錄下生成 html 報告,如下所示:
通過這樣的分析,能夠更好的幫助我們完善單元測試,保證代碼測試的完整性,也能讓我們的代碼更加健壯。
討論交流文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/28218.html
摘要:以前在學習開發時有專門寫過的單元測試的文章,開發學習之單元測試,今天再總結下怎么在中使用單元測試。是一個用編程語言開發的開源軟件,是一個單元測試框架。單元測試框架經常會包含每個測試的報告,以及給出你已經覆蓋到的代碼覆蓋率。 以前在學習IOS開發時有專門寫過Objective-C的單元測試的文章,IOS開發學習之單元測試,今天再總結下怎么在PHP中使用單元測試。 一、前言 在這篇文章中,...
摘要:單元測試中,代碼覆蓋率經常被用來衡量測試好壞的指標。執行的結果和導出的結果都可以在的下看到接下來就是把這些文件到上,就會自動構建,然后開始單元測試,并把測試結果中的代碼覆蓋率發送到。 本文以PHP項目作為例子所需要擁有(準備)的: Github賬號 一個項目 看著篇幅挺大的,難免有什么遺漏,如果文中有錯誤的地方,還請各位斧正!謝謝。因為本來篇幅就大,所以就沒配圖了,如果有很多人反...
摘要:本系列教程所有的測試基于版本,框架目錄結構模塊下的目錄是符合的模塊結構的如等是模塊目錄下的結構目錄如果有自己的目錄同級分配即可,如我這里的整體結構重寫過基類的測試基類,用于我們用這個基類做測試基類,后續會說明自動加載文件測試用例目錄某測試模 本系列教程所有的PHPUnit測試基于PHPUnit6.5.9版本,Lumen 5.5框架 目錄結構 模塊下的目錄是符合Lumen的模塊結構的如:...
閱讀 3550·2021-09-06 15:13
閱讀 1534·2021-09-02 10:19
閱讀 2481·2019-08-30 15:52
閱讀 929·2019-08-29 15:25
閱讀 1574·2019-08-26 18:36
閱讀 501·2019-08-26 13:23
閱讀 1342·2019-08-26 10:46
閱讀 3508·2019-08-26 10:41