迈向更广泛的覆盖范围

主要观点:

  • 介绍了 MoarVM 中未充分记录的“覆盖日志”功能及其创建方法,通过MVM_COVERAGE_LOG=log raku -e ''可创建约 500K 字节、9600 多行的覆盖日志文件。
  • 之后开发了Test::Coverage模块,可用于模块测试的覆盖率检查。在模块的xt目录下添加coverage.rakutest文件,使用raku -I. xt/coverage.rakutest运行,可输出覆盖率相关信息。
  • Test::Coverage提供report子例程可生成更详细报告,还提供source-with-coverage子例程创建带有覆盖信息的源文件,文件中每行前缀表示覆盖情况。
  • 可通过修改coverage.rakutest中的值或添加todo语句来处理覆盖率未达标的情况,不影响正常开发流程,只需在作者电脑上安装Test::Coverage模块。

关键信息:

  • moar命令的使用及相关参数说明。
  • Test::Coverage的安装方式及在xt目录下的使用方法。
  • report子例程的作用及输出内容。
  • source-with-coverage子例程创建的覆盖文件及每行前缀的含义。

重要细节:

  • 提到之前有App::RaCoCo尝试处理覆盖信息,但作者希望实现自动检测覆盖率的功能。
  • 指出确定源文件中哪些行可覆盖比预期更复杂,后续会详细介绍。
  • 鼓励对作者进行小额度赞助。
阅读 7
0 条评论