0
点赞
收藏
分享

微信扫一扫

Larave之phpunit单元测试(四)之覆盖率分析

我是小瘦子哟 2022-01-31 阅读 73
单元测试

什么是覆盖率

覆盖率就是你的单元测试所测试的代码和你写的总代码的占比。

很多互联网公司要求项目达到一定的覆盖率,有些公司甚至要求覆盖率达到百分百,虽然覆盖率可以体现你的单元测试够不够完善,但是覆盖率并不是越高越好,一味的强求百分百覆盖率我们并不提倡,因为我们不可能把框架自带的功能也都写上对应的单元测试,首先它们是身经百战的,基本没什么问题,其次这个工作量是让人崩溃的,也会极大的延误你的工作效率,不过最好确保你的核心代码有着足够高的覆盖率。

覆盖率配置

我们在第二篇中介绍过phpunit.xml的配置,没错,覆盖率的配置也在这个文件中

<coverage processUncoveredFiles="true">
        <include>
<!-- ./app--要覆盖的文件夹,suffix--要匹配的文件的后缀名 -->
            <directory suffix=".php">./app</directory>
        </include>
    </coverage>

然后在运行的时候加上覆盖率参数 --coverage-html,reports为你的覆盖率报告存放的目录

phpunit --coverage-html=reports/

在laravel的根目录下推荐用框架phpunit组件运行

vendor\bin\phpunit --coverage-html=reports/

运行之后可以看到框架多了一个reports目录:

 只需要在浏览器中打开index.html文件即可看到覆盖率分析报告:

 可以看到app目录下的所有文件夹都被统计了进来,也可以点击每个目录查看具体文件的覆盖率:

举报

相关推荐

0 条评论