查看测试代码覆盖率solidity-coverage

查看测试代码覆盖率

hardhat提供了一个查看当前我们编写的测试代码的功能覆盖率的插件,叫做solidity-coverage,专门用于可靠性测试的代码覆盖率。

下载
  1. 用npm下载coverage
 yarn add solidity-coverage --dev
配置
  1. 需要把插件引用hardhat.confing.js中
require('solidity-coverage')

在这里插入图片描述

执行和结果查看
  1. 在hardhat的示例程序中执行:
npx hardhat coverage --testfilestest/*.js

在这里插入图片描述

  • 会看到我们测试通过的消息,下面的表格也有具体的通过率,大家会看到各个参数的通过率为100%,而且最后一列没有检测到的代码行为空,所以这是个全覆盖的测试。

  • 在当前目录下面你会看到一个coverage目录和coverage.json文件,通过coverage目录下面的index.html能更加清楚的查看我们这次测试的详细内容。

  1. 现在我们去修改一下test目录下面的sample-test.js文件

    cd ./test/sample-test.js
    

    ​ 把下面几行给注释掉,然后我们再运行coverage试试
    在这里插入图片描述

    回到项目跟目录运行

    npx hardhat coverage --testfiles test/*.js
    

在这里插入图片描述

  • 大家清楚的看到我们的测试覆盖率降低了,而且右边还具体标明了是Greeter.sol中的哪一行代码没有被测试。
页面版报告查看
  1. 大家也许会主要到,我们运行coverage的时候会生成coverage目录,和一个coverage.json文件,我们去coverage目录下面会发现一个index.html,它便是一个页面化的测试报告,当项目很大的时候,使用index.html查看会比这个表格更加清晰。
    在这里插入图片描述
  • 点击合约名称,能查看这个合约具体是哪一行代码没有被测试到(19-20行,刚好是被我们注释掉的setGreeting方法)
    在这里插入图片描述

    插件地址:https://www.npmjs.com/package/solidity-coverage

希望这个插件能帮助到你

对文章满意的话欢迎点赞收藏,哈哈,谢谢你

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值