查看测试代码覆盖率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

希望这个插件能帮助到你

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

猜你喜欢

转载自blog.csdn.net/qq_43917601/article/details/126814421