如果我在构建 testcover 过程完成之前终止了它,我可以强制 Perl Devel::Cover 生成覆盖报告吗?

Kur*_*cht 5 perl reporting code-coverage kill

如果我能够成功启动 Devel::Cover 并且它开始在 cover_db 目录中收集数据,那么我是否可以终止该进程,然后在事后获取 Devel::Cover 或其他一些实用程序来处理这些二进制 Devel::将运行文件和结构文件覆盖到 HTML 覆盖率报告中?

以另一种方式提出问题......我可以使用 Devel::Cover 来获取我无法停止的进程的覆盖率报告,除了终止进程吗?

这个问题与:Selenium 执行时如何获得 Perl CGI 脚本的代码覆盖率?

DVK*_*DVK 4

我通常处理这个问题的方式(例如,在服务器上运行测试)是:

  • __DIE__为 Perl 进程生成处理程序。这确保了该过程正常完成并且 Devel::Cover 完成数据库填充

  • 向进程发送 SIGINT 以触发新的 DIE 处理程序。

  • cover进程死亡后,在 cover_db 目录上运行程序。