如何用PHPUnit生成代码覆盖率报告

LogicAetherX
• 阅读 2654

PHPUnit集成了PHPCoverage可以直接通过命令行在运行测试的时候顺带生成测试覆盖率报告。之前版本的PHPUnit还需要xdebug插件才能生成报告,但PHPUnit 8x之后,可以安装PCOV插件作为code coverage driver。

> apt install php7.4-pcov

然后安装pcov代码包

> composer require --dev pcov/clobber:^2.0

就此完成了所有的基础安装,接下来开始用命令行生成测试报告

> ./vendor/bin/phpunit --coverage-html tests/html --coverage-filter app/models --bootstrap tests/bootstrap.php tests/model/video/block

--coverage-html 选项告诉phpunit将生成好的html文件存放在哪个文件夹
--coverage-filter 选项告诉phpunit分析哪个文件夹下面的代码

生成的覆盖报告如图所示:

引用:
https://www.lambdatest.com/bl...
点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Jenkins+RF持续集成测试(一) 环境搭建
通常在自动化测试中,我们需要对自动化测试用例定时构建,并生成报告并通过邮件发给指定的人。最佳工具选择莫过于Jenkins了。通过Jenkins集成robotframework插件,我们能非常方便的定时从git/svn上拉取最新的自动化测试用例,然后执行用例并把最终结果以测试报告的形式发给指定的人群。下面我就来详细为大家介绍一下Jenkins集成RF插件
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
PhpUnit Netbeans 极简配置
0x01.下载两个Phar包:wgethttps://phar.phpunit.de/phpunit.pharwgethttps://phar.phpunit.de/phpunitskelgen.phar0x02.让这两个包可执行chmodxphpunit.pharchmodxphpu
Stella981 Stella981
3年前
JMeter 命令行(非GUI)模式及分布式执行详解
转载自:https://www.cnblogs.com/fengpingfan/p/5586711.html一、应用场景1、无需交互界面或受环境限制(linuxtextmodel)2、远程或分布式执行3、持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于生成报告二、命令行模式优点1
十月飞翔 十月飞翔
3年前
Allure FAQ
生成测试报告命令pytestsqalluredirresults生成json格式报告文件alluregenerate./unit/allureresulto./unit/allurereport处理json生成xml,未渲染,打开报loading错误直接在pycharm中右击allure报
javalover123 javalover123
2年前
Java代码性能测试实战之ContiPerf
最近测试一个开源项目,发现生成的全局id有重复,方法加上synchronized提交PR后,有些同行对性能有疑虑,就准备做个代码性能测试。Java基准性能测试一般用JMH比较多,但是官方建议性能测试单独一个项目,感觉麻烦了点。发现ContiPerf可以方便的设置执行次数、时长、线程数、预热时长,还有Html格式报告,感觉还比较适合,基于Junit