成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

phpunit 單元測試之代碼覆蓋率

blankyao / 1087人閱讀

摘要:最近團(tuán)隊(duì)在不斷完善項(xiàng)目中的單元測試用例,會(huì)用到代碼覆蓋率分析,本來以為應(yīng)該默認(rèn)安裝了,所以使用來生成報(bào)告,但是執(zhí)行后提示如下錯(cuò)誤這是因?yàn)闆]有安裝或啟用導(dǎo)致。

最近團(tuán)隊(duì)在不斷完善項(xiàng)目中的單元測試用例,會(huì)用到代碼覆蓋率分析,本來以為 homestead 應(yīng)該默認(rèn)安裝了 xdebug ,所以使用 phpunit --coverage-html ./tests/codeCoverage 來生成 html 報(bào)告,但是執(zhí)行后提示如下錯(cuò)誤

Error:         No code coverage driver is available

這是因?yàn)闆]有安裝或啟用 xdebug 導(dǎo)致。

個(gè)人環(huán)境:

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 install
enable 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 結(jié)尾處

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 = 500
build code coverage report

有兩種方法:

1.直接執(zhí)行 phpunit --coverage-html ./tests/codeCoverage 命令
2.在 phpunit.xml 添加如下代碼:


   

然后直接執(zhí)行 phpunit 即可。

完成會(huì)在 tests/codeCoverage 目錄下生成 html 報(bào)告,如下所示:

通過這樣的分析,能夠更好的幫助我們完善單元測試,保證代碼測試的完整性,也能讓我們的代碼更加健壯。

討論交流

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28218.html

相關(guān)文章

  • phpunit使用

    摘要:單元測試是一個(gè)為代碼編寫測試用例并自動(dòng)運(yùn)行這些測試的框架。測試驅(qū)動(dòng)的開發(fā)是一種單元測試方法,其思想是應(yīng)該首先編寫測試程序,并驗(yàn)證這些測試可以發(fā)現(xiàn)錯(cuò)誤,然后才開始編寫需要通過這些測試的代碼。 phpunit使用 標(biāo)簽(空格分隔): php 現(xiàn)在是凌晨 3 點(diǎn)。我們怎樣才能知道自己的代碼依然在工作呢?Web 應(yīng)用程序是 24x7 不間斷運(yùn)行的,因此我的程序是否還在運(yùn)行這個(gè)問題會(huì)在晚上一直...

    ZweiZhao 評(píng)論0 收藏0
  • PHP單元測試框架PHPUnit的使用

    摘要:以前在學(xué)習(xí)開發(fā)時(shí)有專門寫過的單元測試的文章,開發(fā)學(xué)習(xí)之單元測試,今天再總結(jié)下怎么在中使用單元測試。是一個(gè)用編程語言開發(fā)的開源軟件,是一個(gè)單元測試框架。單元測試框架經(jīng)常會(huì)包含每個(gè)測試的報(bào)告,以及給出你已經(jīng)覆蓋到的代碼覆蓋率。 以前在學(xué)習(xí)IOS開發(fā)時(shí)有專門寫過Objective-C的單元測試的文章,IOS開發(fā)學(xué)習(xí)之單元測試,今天再總結(jié)下怎么在PHP中使用單元測試。 一、前言 在這篇文章中,...

    Bryan 評(píng)論0 收藏0
  • 【持續(xù)集成你的項(xiàng)目】為你的項(xiàng)目創(chuàng)建自動(dòng)化測試代碼蓋率測試

    摘要:單元測試中,代碼覆蓋率經(jīng)常被用來衡量測試好壞的指標(biāo)。執(zhí)行的結(jié)果和導(dǎo)出的結(jié)果都可以在的下看到接下來就是把這些文件到上,就會(huì)自動(dòng)構(gòu)建,然后開始單元測試,并把測試結(jié)果中的代碼覆蓋率發(fā)送到。 本文以PHP項(xiàng)目作為例子所需要擁有(準(zhǔn)備)的: Github賬號(hào) 一個(gè)項(xiàng)目 看著篇幅挺大的,難免有什么遺漏,如果文中有錯(cuò)誤的地方,還請(qǐng)各位斧正!謝謝。因?yàn)楸緛砥痛螅跃蜎]配圖了,如果有很多人反...

    Jeff 評(píng)論0 收藏0
  • PHP 單元測試

    摘要:上面的規(guī)定是必須遵守的,如果代碼沒有遵守規(guī)定不會(huì)把他當(dāng)做單元測試代碼。每個(gè)單元測試類以被測試的類名開頭。每個(gè)單元測試函數(shù)應(yīng)該為被測試函數(shù)名結(jié)尾。函數(shù)可能在測試環(huán)境不可執(zhí)行,那么無法獲取的執(zhí)行結(jié)果,從而無法對(duì)進(jìn)行單元測試。 本文首發(fā)于 https://jaychen.cc/article/34作者 Jaychen showImg(https://segmentfault.com/img/...

    娣辯孩 評(píng)論0 收藏0
  • PHPUnit實(shí)踐三(構(gòu)建模塊化的測試單元

    摘要:本系列教程所有的測試基于版本,框架目錄結(jié)構(gòu)模塊下的目錄是符合的模塊結(jié)構(gòu)的如等是模塊目錄下的結(jié)構(gòu)目錄如果有自己的目錄同級(jí)分配即可,如我這里的整體結(jié)構(gòu)重寫過基類的測試基類,用于我們用這個(gè)基類做測試基類,后續(xù)會(huì)說明自動(dòng)加載文件測試用例目錄某測試模 本系列教程所有的PHPUnit測試基于PHPUnit6.5.9版本,Lumen 5.5框架 目錄結(jié)構(gòu) 模塊下的目錄是符合Lumen的模塊結(jié)構(gòu)的如:...

    goji 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<