gpt4 book ai didi

perl - 当 Selenium 执行时,如何获得 Perl CGI 脚本的代码覆盖率?

转载 作者:行者123 更新时间:2023-12-03 01:41:25 26 4
gpt4 key购买 nike

我正在使用 Eclipse EPIC IDE 编写一些 Perl CGI 脚本,这些脚本调用我也编写的一些 Perl 模块。 EPIC IDE 允许我配置 Perl CGI“运行配置”来运行我的 CGI 脚本。然后我设置了 Selenium,并且我的单元测试文件之一运行一些 Selenium 命令来按其速度运行我的 cgi 脚本。但是 Module::Build Dispatch 'testcover' 的覆盖率报告并未显示我的任何模块代码已被执行。它是由我的 cgi 脚本执行的,但我猜 CGI 脚本是手动运行的,而不是由我的单元测试文件直接执行的,所以也许这就是覆盖范围未被识别的原因。有没有办法做到这一点,以便我可以将 Selenium 和单元测试文件以及代码覆盖率以某种方式集成在一起?

最佳答案

我不熟悉 Selenium 或 EPIC,但一种解决方法(除非/直到有人提供了更多 native 解决方案)是简单地将“-MDevel::Cover”包含到运行配置命令行中。

最坏的情况是,在 BEGIN{} block 中添加一些条件逻辑 - 基于某些 selenium 环境变量 - 有条件地使用 Devel::Cover

更新:

应该可以使用 -MDevel::Cover=-silent,1 抑制 Devel::Cover 的输出

$ 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;}'

$

关于perl - 当 Selenium 执行时,如何获得 Perl CGI 脚本的代码覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2901293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com