如果你要求单元测试的最小代码覆盖率,甚至可能作为提交到存储库的要求,它会是什么?
请解释你是如何得出答案的(因为如果你所做的只是选择一个号码,那么我本可以自己完成这一切;)
在Eclipse中运行覆盖率报告(使用cobertura或EMMA插件)后,我的源代码文件以绿色,红色和黄色突出显示,具体取决于测试覆盖的代码行.
我完成后如何清除这个突出显示?
我想知道.NET(或C#特定)代码覆盖有哪些选择,特别是在价格较低的部分?
我不是在寻找建议,而是根据事实对产品进行比较.我知道以下内容:
我正在使用Mocha来测试我的NodeJS应用程序.我无法弄清楚如何使用其代码覆盖功能.我试过谷歌搜索但没有找到任何适当的教程.请帮忙.
什么是代码覆盖率以及您如何衡量它?
我被问到有关我们自动化测试代码覆盖率的问题.似乎在自动化工具之外,它更多的是艺术,而不是科学.有没有关于如何使用代码覆盖的实际示例?
我的代码中的计算经过了充分测试,但由于GUI代码太多,我的整体代码覆盖率低于我的预期.有关单元测试GUI代码的指南吗?它甚至有意义吗?
例如,我的应用程序中有图表.我无法弄清楚如何自动化测试图形.需要人眼AFAIK来检查图表是否正确.
(我正在使用Java Swing)
您在Java项目中使用了哪些代码分析工具?
我对各种各样感兴趣
如果适用,还说明您使用的构建工具以及这些工具与IDE和构建工具的集成程度.
如果某个工具仅以特定方式(作为IDE插件,或者说,构建工具插件)可用,那么该信息也值得注意.
我在互联网上搜索过这个.有很多半的答案在那里,做Maven的属性,如${sonar.jacoco.reportPath},或org.jacoco:jacoco-maven-plugin:prepare-agent或设置maven-surefire-plugin argLine带-javaagent.
一些如何,这些答案,无论是单独的还是组合的,都没有产生我正在追求的东西:一个覆盖率报告,如果它被用于堆栈中更高的测试,例如正在使用的实体,则显示一个类被覆盖通过DAO,即使它没有完全涵盖在自己的模块中的测试.
有没有确定的配置,为了达到这个目的,请?
我一直使用Jasmine进行单元测试,但最近我开始使用Istanbul来给我代码覆盖报告.我的意思是我得到他们试图告诉我的要点,但我不知道每个百分比代表什么(Stmts,Branches,Funcs,Lines).到目前为止谷歌搜索我一直无法找到可靠的解释/资源.
问题:就像我说的那样,我得到了它的要点,但有人可以发布正确的解释或链接到正确的解释吗?
第三个问题:有没有办法确定代码的哪些特定部分未被涵盖?到目前为止,我还没有真正地了解这份报告,我基本上在猜测.
-------------------|-----------|-----------|-----------|-----------|
File | % Stmts |% Branches | % Funcs | % Lines |
-------------------|-----------|-----------|-----------|-----------|
controllers/ | 88.1 | 77.78 | 78.57 | 88.1 |
dashboard.js | 88.1 | 77.78 | 78.57 | 88.1 |
-------------------|-----------|-----------|-----------|-----------|
All files | 88.1 | 77.78 | 78.57 | 88.1 |
-------------------|-----------|-----------|-----------|-----------|
Run Code Online (Sandbox Code Playgroud) 这是代码:
package com.XXX;
public final class Foo {
private Foo() {
// intentionally empty
}
public static int bar() {
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
这是测试:
package com.XXX;
public FooTest {
@Test
void testValidatesThatBarWorks() {
int result = Foo.bar();
assertEquals(1, result);
}
@Test(expected = java.lang.IllegalAccessException.class)
void testValidatesThatClassFooIsNotInstantiable() {
Class cls = Class.forName("com.XXX.Foo");
cls.newInstance(); // exception here
}
}
Run Code Online (Sandbox Code Playgroud)
工作正常,课程经过测试.但Cobertura表示,该类私有构造函数的代码覆盖率为零.我们如何为这样的私有构造函数添加测试覆盖率?
code-coverage ×10
testing ×3
unit-testing ×3
java ×2
.net ×1
c# ×1
cobertura ×1
code-metrics ×1
eclipse ×1
emma ×1
istanbul ×1
jacoco ×1
jasmine ×1
javascript ×1
maven ×1
mocha.js ×1
node.js ×1
sonarqube ×1