标签: code-coverage

如何使用jacoco.exec报告

我从jacoco生成了一个代码覆盖率报告,它是jacoco.exec.但我不知道如何使用它......

我生成它的方式是通过命令行:

java -javaagent:/path/to/jacocoagent.jar=include=some.package.*,output=file org.junit.runner.JUnitCore some.package.ClassTest
Run Code Online (Sandbox Code Playgroud)

然后我得到了jacoco.exec报告.我只需要百分比,我只使用命令行.有没有办法将此报告转换为可读的txt文件?

谢谢大家

testing code-coverage jacoco

58
推荐指数
6
解决办法
8万
查看次数

Laravel 5:PHPUnit并且没有可用的代码覆盖驱动程序

我想使用PHPUnit来创建代码覆盖率报告.我已尝试在网上找到很多安装设置.但似乎没有任何结果.

我使用最新版本的Laravel 5(> 5.2)和PHPUnit v.5.0.10.此外,我在运行PHP 7的Mac OS X 10.9.5上使用MAMP.

当我运行集成在Laravel发行版中的PHPUnit时,我收到以下错误.

$ vendor/bin/phpunit -v
PHPUnit 5.0.10 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.0.0
Configuration: /Applications/MAMP/htdocs/myProject/phpunit.xml
Error:         No code coverage driver is available`
Run Code Online (Sandbox Code Playgroud)

我的作曲家文件看起来像:

"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "5.0.*",
    "phpunit/php-code-coverage": "^3",
    "symfony/css-selector": "2.8.*|3.0.*",
    "symfony/dom-crawler": "2.8.*|3.0.*"
},
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下命令:

/Applications/MAMP/bin/php/php7.0.0/bin/phpdbg -qrr ../../../htdocs/myProject/vendor/bin/phpunit -v
Run Code Online (Sandbox Code Playgroud)

这似乎很好地设置了代码覆盖率驱动程序,但最终会出现异常:

$ /Applications/MAMP/bin/php/php7.0.0/bin/phpdbg -qrr ../../../htdocs/myProject/vendor/bin/phpunit -v
PHPUnit 5.0.10 by Sebastian Bergmann and contributors.

Runtime:       PHPDBG 7.0.0
Configuration: /Applications/MAMP/htdocs/myProject/phpunit.xml

[PHP Fatal error:  Uncaught ErrorException: include(/Applications/MAMP/htdocs/myProject/app/Exceptions/Handler.php): failed to open …
Run Code Online (Sandbox Code Playgroud)

phpunit code-coverage laravel-5.2

58
推荐指数
6
解决办法
5万
查看次数

如何在TeamCity中排除dotCover所涵盖的类型和方法?

我有一个现有的C#4项目,我通过使用TestDriven.Net和Visual Studio覆盖功能检查了测试覆盖率,即上下文菜单中的Test With - > Coverage.

该项目包含一些我不想覆盖的代码,我通过添加[ExcludeFromCodeCoverage]那些类型和方法来解决这个问题.

我们刚刚将TeamCity升级到6.0.3,并且我已经将dotCover覆盖添加到NUnit构建步骤中.

我已经设法在"过滤器"部分删除外部程序集(如NHibernate)的覆盖范围(通过明确说明我想要覆盖的程序集),但我正在努力解决如何从覆盖的程序集中排除类型和方法.

在此输入图像描述

c# teamcity code-coverage dotcover

55
推荐指数
1
解决办法
1万
查看次数

Testng,Emma,Cobertura,coverage和JDK 7导致ClassFormatError和VerifyError

我已经切换到最新的JDK 7,我遇到了在emma覆盖工具打乱的字节代码上运行testng单元测试的问题.我的测试用例都没有正确运行,对于大多数测试用例我都收到了这样的错误.

 java.lang.ClassFormatError: Illegal local variable table length 10 in method measurement.meter.AbstractSerialPortMeter.<init>(Lmeasurement/meter/SerialPort;)V at measurement.meter.Elc3133aTest.setUp(Elc3133aTest.java:42)
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一篇文章JSR 292 Goodness Fast Code Coverage Tool Less 10k,它说"JSR 292引入了一个新的字节码指令invokedynamic,但也有几种新的常量池常量.这意味着大多数解析字节码的工具都像ASM,BCEL,findbugs或EMMA需要更新为兼容java 7."

检查了艾玛的主页,但看起来它已经很久没有更新了.

有人解决了类似的问题吗?

我也曾尝试过Cobertura.它看起来工作得更好但我得到了很多类型的例外VerifyError.

java.lang.VerifyError: Expecting a stackmap frame at branch target 85 in method measurement.meter.AbstractSerialPortMeter.close()V at offset 26
at measurement.meter.AbstractSerialPortMeterTest.setUp(AbstractSerialPortMeterTest.java:27)
Run Code Online (Sandbox Code Playgroud)

code-coverage emma cobertura java-7 jacoco

55
推荐指数
2
解决办法
4万
查看次数

代码覆盖工具如何工作?

像NCover这样的代码覆盖工具如何知道代码的哪些部分被执行以及哪些部分没有被执行?

code-coverage

54
推荐指数
5
解决办法
2万
查看次数

用于代码覆盖的Eclipse插件

我搜索eclipse的代码覆盖插件.我的问题很简单:

您使用哪个插件与eclipse进行代码覆盖以及为什么?

eclipse code-coverage eclipse-plugin

54
推荐指数
2
解决办法
6万
查看次数

使用Cobertura从代码覆盖中排除方法

有没有办法将代码排除在Cobertura覆盖率报告之外?我们有一些方法不应包含在覆盖率报告中,因此不会降低覆盖率数字.

我知道Clover有这样的功能,但我没有找到类似的Cobertura.

java code-coverage cobertura

53
推荐指数
3
解决办法
7万
查看次数

模拟Java枚举以添加值以测试失败案例

我有一个或多或少像这样的枚举开关:

public static enum MyEnum {A, B}

public int foo(MyEnum value) {
    switch(value) {
        case(A): return calculateSomething();
        case(B): return calculateSomethingElse();
    }
    throw new IllegalArgumentException("Do not know how to handle " + value);
}
Run Code Online (Sandbox Code Playgroud)

并且我希望测试涵盖所有行,但由于代码应该处理所有可能性,因此我无法在交换机中提供没有相应case语句的值.

扩展枚举以添加额外的值是不可能的,只是模拟返回的equals方法false将无法工作,因为生成的字节码使用窗帘后面的跳转表来找到正确的情况......所以我想也许用PowerMock可以实现一些黑魔法.

谢谢!

编辑:

由于我拥有枚举,我认为我可以只为值添加一个方法,从而完全避免切换问题; 但是我要离开这个问题,因为它仍然很有趣.

java enums unit-testing code-coverage mocking

50
推荐指数
3
解决办法
5万
查看次数

有关使用CMK/CDash的gcov的详细指南?

我在我的项目中使用CMake并设置了一个用于连续/夜间构建的cdash服务器.一切运作良好,通过设置crontab,我们将每小时/每晚的构建/测试结果自动上传到我们的cdash服务器.

我的下一步是将测试覆盖率报告添加到构建中.我在http://www.cmake.org/Wiki/CTest:Coverage找到了这份文件,但坦率地说,它与实用指南相差甚远.

目前我已经添加了所需的标志(而不是-fprofile-arcs -ftest-coverage,我发现--coverage更好),编译过程生成.gcno文件.但后来我被卡住了.命令

make NightlyCoverage
Run Code Online (Sandbox Code Playgroud)

好像什么也没做.谁能告诉我接下来要做什么?我想要的结果是make NightlyCoverage,生成覆盖率报告并上传到cdash服务器.

c++ testing code-coverage cmake cdash

48
推荐指数
4
解决办法
2万
查看次数

在Xcode 5中运行代码覆盖时,有数十个"分析:无效的弧标记"

在Xcode 5中启用代码覆盖率运行我的测试目标时,我在构建输出中收到以下几条消息:

profiling:invalid arc tag (0x...)
Run Code Online (Sandbox Code Playgroud)

它似乎不会影响测试,因为它们成功完成,并且GCDA覆盖文件也按预期生成.

知道消息的含义,或者如何抑制消息/修复问题,因为它们会使构建输出混乱,并且很难找到测试用例结果.

xcode code-coverage objective-c ios

47
推荐指数
2
解决办法
1万
查看次数