我要求将我的selenium测试的代码覆盖率捕获到所涵盖的服务器代码(Web应用程序源代码)中的源代码量.
例如,登录功能的测试应该捕获登录功能的Web应用程序中涵盖的代码量.
否则,需要知道它已在Web应用程序代码中触及哪个包或类,以完成所使用的方案.例如登录
我找不到合适的解决方案,虽然我开始了解Jacoco代码覆盖工具并尝试使用Jacoco Jenkins插件的一些示例,但没有成功.
我不知道可能性.请提供给我一个如何实现这一点的建议,在此先感谢
有没有办法用DUnit测量代码覆盖率?或者是否有任何免费工具实现?你用的是什么?你通常会使用什么代码覆盖?
Jim McKeeth:谢谢你的详细解答.我说的是TDD方法意义上的单元测试,不仅仅是发生故障后的单元测试.我对一些基本的预写单元测试可以实现的代码覆盖感兴趣.
使用Zend Framework 1.10和Doctrine 2(Beta1)启动项目.我在自己的库代码中使用命名空间.
生成代码覆盖率报告时,我收到有关重新声明类的致命错误.为了提供更多信息,我在我的phpunit可执行文件中注释掉了xdebug_disable()调用,这样你就可以看到函数trace(由于输出太多而禁用了局部变量输出).
这是我的终端输出:
$ phpunit
PHPUnit 3.4.12 by Sebastian Bergmann.
........
Time: 4 seconds, Memory: 16.50Mb
OK (8 tests, 14 assertions)
Generating code coverage report, this may take a moment.PHP Fatal error: Cannot redeclare class Cob\Application\Resource\HelperBroker in /Users/Cobby/Sites/project/trunk/code/library/Cob/Application/Resource/HelperBroker.php on line 93
PHP Stack trace:
PHP 1. {main}() /usr/local/zend/bin/phpunit:0
PHP 2. PHPUnit_TextUI_Command::main() /usr/local/zend/bin/phpunit:54
PHP 3. PHPUnit_TextUI_Command->run() /usr/local/zend/share/pear/PHPUnit/TextUI/Command.php:146
PHP 4. PHPUnit_TextUI_TestRunner->doRun() /usr/local/zend/share/pear/PHPUnit/TextUI/Command.php:213
PHP 5. PHPUnit_Util_Report::render() /usr/local/zend/share/pear/PHPUnit/TextUI/TestRunner.php:478
PHP 6. PHPUnit_Framework_TestResult->getCodeCoverageInformation() /usr/local/zend/share/pear/PHPUnit/Util/Report.php:97
PHP 7. PHPUnit_Util_Filter::getFilteredCodeCoverage() /usr/local/zend/share/pear/PHPUnit/Framework/TestResult.php:623
Fatal error: … 我正在使用Visual Studio Ultimate,我无法获得代码覆盖率数据.我的所有单元测试都通过了,我编辑了Local.testsettings文件以启用代码覆盖并将其配置为引用我项目的dll.活动测试设置也设置为Local.testsettings而不是TracAndTestImpact.testsettings.
据说语句覆盖确保代码中的每个语句至少执行一次.据说
决策/分支覆盖测试是测试决策的每个分支/输出,即将执行假/真分支中的所有语句.
但是不一样吗?在Statement覆盖中我需要执行所有语句,所以我想它只能通过运行所有可能的方式来完成.我知道我在这里遗失了一些东西..
这会影响 IntelliJ 2019.3 和 2020.1(截至本文的最新版本)终极版。
某些类缺少代码覆盖率,而其他类继续显示覆盖率。陈述显而易见的,但实际上不显示覆盖率数据的类应该显示它,因为这些行被测试击中。
看到的错误是:
[2020.04.23 23:52:20] (Coverage): Error during class instrumentation: com.<redacted>: java.lang.ArrayIndexOutOfBoundsException: 113
[2020.04.23 23:52:20] (Coverage): Error during class instrumentation: com.<redacted>: java.lang.ArrayIndexOutOfBoundsException: 144
Run Code Online (Sandbox Code Playgroud)
请注意,编辑部分是实际的完全限定类路径。测试正确执行,但缺少覆盖数据。
我已确保正确设置测试以进行覆盖:
有谁知道如何解决这个问题,以便缺失的课程显示覆盖信息?
我想尝试使用PartCover进行代码覆盖.我正在使用MSTest运行Visual Studio 2008 Professional.专业版不包括团队测试工具,如代码覆盖率.
所以,我正在尝试PartCover,但我无法让它工作.在PartCover.Browser中我选择了MSTest可执行文件,我已经将工作参数指向了我的tests.dll,并且我已经尝试将我的工作目录指向TestResults文件夹,但是我收到一个错误:
"报告为空.检查设置并再次运行目标."
我不知道下一步该尝试什么.
编辑
事实证明我有两个问题.首先,我没有把我的规则说得对.其次,我的工作论点中有空格.这些空间给出了错误,但没有出现在任何地方.
我有一个抽象的基类:
class MyAbstractClass(object):
__metaclass__ = ABCMeta
@abstractproperty
def myproperty(self): pass
Run Code Online (Sandbox Code Playgroud)
但是当我在我的项目中运行nosetests(覆盖率)时,它会抱怨属性def line未经测试.它实际上无法测试(AFAIK),因为抽象类的实例化将导致异常被引发.
有没有解决方法,或者我只需要接受<100%的测试覆盖率?
当然,我可以删除ABCMeta用法并简单地提升基类NotImpementedError,但我更喜欢前一种方法.
我一直在使用PHPUnit一段时间了,它开始看起来像我可能需要将我的测试分解为将作为单独执行的组运行phpunit.主要原因是我的大多数测试都需要在不同的进程中运行,而有些实际上不能在单独的进程中运行,因为这里记录了一个问题.我想做的是编写一个bash脚本,触发几个执行phpunit,每个执行配置为使用不同的设置运行不同的测试.
所以我的问题是:有没有办法聚合多次phpunit执行的代码覆盖率结果?我可以直接通过PHPUnit本身或使用其他工具吗?在phpunit使用PHPUnit的测试套件概念的一次运行中,是否有可能获得我正在寻找的东西?
我一直在尝试使用Xcode 9获取项目的代码覆盖率.所有测试用例都成功运行,但未在"代码覆盖率"选项卡下生成代码覆盖率报告.
我试过以下事情:
启用Show case bundle选项.
是否有额外的设置需要检查代码覆盖率报告?或者我应该错过什么?提前致谢.
code-coverage ×10
unit-testing ×4
java ×2
php ×2
phpunit ×2
abc ×1
coverage.py ×1
delphi ×1
dunit ×1
ios ×1
ios11 ×1
jacoco ×1
javascript ×1
metrics ×1
mstest ×1
nosetests ×1
partcover ×1
python ×1
selenium ×1
xcode9 ×1