2010-05-28 16 views
4

如果我能夠成功啓動Devel :: Cover並開始收集cover_db目錄中的數據,那麼我可以殺死進程,然後在事實得到Devel :: Cover或其他實用程序來處理這些二進制Devel ::將運行文件和結構文件封入HTML覆蓋報告中?如果我在構建測試過程完成前終止了構建測試過程,我能否強制Perl Devel :: Cover生成覆蓋率報告?

以另一種方式提出問題......我可以使用Devel :: Cover獲取我無法阻止的進程的覆蓋報告,而不是通過殺死進程?

這個問題是涉及到:How do I get code coverage of Perl CGI script when executed by Selenium?

回答

3

我通常處理這個問題的方法(比如,對於運行在服務器上測試)是:

  • 生成__DIE__處理程序Perl的過程。這確保過程正常完成,並且Devel :: Cover完成數據庫填充

  • 將SIGINT發送到進程以觸發新的DIE處理程序。

  • 運行cover程序在進程死後的cover_db目錄下。

+0

完美!我現在才意識到,大多數這些令人敬畏的Perl模塊也可以從命令行獲得。天才! – 2010-05-28 13:00:24

相關問題