5

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

以另一种方式问这个问题......我可以使用 Devel::Cover 来获取我无法停止的进程的覆盖率报告,而不是通过终止进程?

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

4

1 回答 1

4

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

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

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

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

于 2010-05-28T03:40:48.100 回答