我正在使用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