我正在使用Eclipse EPIC IDE編寫一些Perl CGI腳本,這些腳本調用了我也寫過的一些Perl模塊。 EPIC IDE允許我配置運行我的CGI腳本的Perl CGI「運行配置」。然後我創建了Selenium,我的一個單元測試文件運行了一些Selenium命令,通過它的步調運行我的cgi腳本。但是Module :: Build dispatch'testcover'的覆蓋報告並沒有顯示我的任何模塊代碼已經被執行。它已經被我的CGI腳本執行了,但我猜CGI腳本是手動運行的,並不是由我的單元測試文件直接執行的,所以也許這就是爲什麼覆蓋不被識別的原因。有沒有辦法做到這一點,所以我可以將Selenium和單元測試文件和代碼覆蓋整合到一起?當由Selenium執行時,如何獲得Perl CGI腳本的代碼覆蓋率?
回答
我並不熟悉Selenium或EPIC,但是一種解決方法(除非/直到有人帶有更多的本機解決方案)才簡單地在運行配置命令行中包含「-MDevel :: Cover」。
程度較重,添加一些條件邏輯在BEGIN {}阻止 - 基於一些硒環境變量 - 有條件確實use Devel::Cover
UPDATE:
應該能夠抑制從輸出傑韋利::封面使用-MDevel::Cover=-silent,1
$ perl5.8 -MDevel::Cover -e '{1;}'
Devel::Cover 0.64: Collecting coverage data for branch, blah
Selecting packages matching:
Ignoring packages matching:
blah, blah, blah
---------------------------- ------ ------ ------ ------ ------ ------ ------
File stmt bran cond sub pod time total
---------------------------- ------ ------ ------ ------ ------ ------ ------
Total n/a n/a n/a n/a n/a n/a n/a
---------------------------- ------ ------ ------ ------ ------ ------ ------
$ perl5.8 -MDevel::Cover=-silent,1 -e '{1;}'
$
我試了兩種解決方案,似乎都沒有工作。當我將-MDevel :: Cover放入cgi run配置的命令行時,該新模塊在stdout上生成了一些亂碼的CGI腳本頭文本。當我添加使用Devel :: Cover到我的使用硒來運行cgi腳本的單元測試文件時,它給了我類似的結果,就像我之前從Module :: Build派發測試用例一樣...沒有我知道的模塊的覆蓋cgi腳本正在調用例程。 – 2010-05-25 02:26:03
@Kurt - 我不確定您是否可以用某種可用的方式禁用Devel :: Cover的IO,但我可以檢查... – DVK 2010-05-25 02:56:14
@Kurt - 嘗試'-MDevel :: Cover = - slient',請 – DVK 2010-05-25 03:00:01
- 1. 爲Perl代碼覆蓋率
- 2. 如何在多個Python腳本運行中獲得組合代碼覆蓋率
- 3. 如何獲得客戶端JavaScript代碼的代碼覆蓋率?
- 4. PHPUnitSeleniumTestcase的代碼覆蓋率
- 5. rspec的代碼覆蓋率
- 6. 差代碼覆蓋率
- 7. 如何獲得TFS上的XUnit測試代碼覆蓋率?
- 8. 如何使用PHPUnit獲得100%的代碼覆蓋率
- 9. 代碼覆蓋率統計
- 10. ESB代碼覆蓋率
- 11. 代碼覆蓋率:.NET代碼覆蓋率和SonarQube VSTS集成
- 12. 聲納代碼覆蓋率:%代碼覆蓋率不一致
- 13. 全部代碼覆蓋率
- 14. PHPUnit代碼覆蓋率0%
- 15. Hudson與MSBuild和MSTest,如何獲得代碼覆蓋率
- 16. XCode - 代碼覆蓋率?
- 17. 由groovy代碼測試的java代碼的代碼覆蓋率
- 18. Visual Studio 2012 - 代碼覆蓋率 - 如何正確執行它?
- 19. 代碼覆蓋率分析
- 20. MSTest代碼覆蓋率
- 21. Python代碼覆蓋率
- 22. 防止執行cgi/perl腳本
- 23. 從html執行perl cgi腳本
- 24. 不能讓Apache執行perl CGI腳本
- 25. 代碼覆蓋率 - Web應用程序
- 26. TDD和代碼覆蓋率
- 27. Selenium RC Perl腳本如何獲取xml頁面的源代碼?
- 28. 代碼覆蓋率與SCCT
- 29. 代碼覆蓋率 - 哪個代碼覆蓋哪個代碼?
- 30. CoffeeScript代碼覆蓋率
我想我想通了 - 看到我更新的答案 – DVK 2010-05-26 16:34:39
+1讓我學到東西新和使用Devel ::封面:) – DVK 2010-05-26 16:35:28