我正在使用Jacoco插件计算Spring启动应用程序的代码覆盖率。build.gradle的Jacoco配置如下:
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
html.destination file("${buildDir}/jacocoHtml")
}
afterEvaluate {
classDirectories = files(classDirectories.files.collect {
fileTree(dir: it,
exclude: ['**/models/**',
'**/config/**',
'**/constants/**',
'**/Application.class'])
})
}
}
和
jacocoTestCoverageVerification {
violationRules {
rule {
element = 'PACKAGE'
excludes = ['some packages']
limit {
counter = 'BRANCH'
minimum = 0.7
}
}
}
}
public class SomeClassTest {
private SomeClass someClass;
@Before
public void setUp() throws Exception {
someClass = new SomeClass(12, 23);
}
@Test
public void shouldSumTwoValues() {
assertThat(someClass.sum()).isEqualTo(35);
}
}
有人能帮我吗?
在我的例子中,我发现这是因为我将最小值设为1。当我突然将其改为0.9时,它就起作用了
给定src/main/java/SomeClass。java
class SomeClass {
private Integer value1;
private Integer value2;
SomeClass(Integer value1, Integer value2) {
this.value1 = value1;
this.value2 = value2;
}
Integer sum() {
return value1 + value2;
}
}
src/test/java/SomeClassTest。java
import org.junit.*;
import static org.junit.Assert.*;
public class SomeClassTest {
private SomeClass someClass;
@Before
public void setUp() throws Exception {
someClass = new SomeClass(12, 23);
}
@Test
public void shouldSumTwoValues() {
assertEquals(35, (int) someClass.sum());
}
}
和build。格雷德尔
apply plugin: "java"
apply plugin: "jacoco"
dependencies {
testCompile "junit:junit:4.12"
}
repositories {
mavenCentral()
}
gradle test JacocoTestReport
的执行会在构建/报告/Jacoco/test/html/index.html
中生成以下报告
的build.gradle
的添加
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
html.destination file("${buildDir}/jacocoHtml")
}
afterEvaluate {
classDirectories = files(classDirectories.files.collect {
fileTree(dir: it,
exclude: ['**/models/**',
'**/config/**',
'**/constants/**',
'**/Application.class'])
})
}
}
jacocoTestCoverageVerification {
violationRules {
rule {
element = 'PACKAGE'
excludes = ['some packages']
limit {
counter = 'BRANCH'
minimum = 0.7
}
}
}
}
不改变结果/报告,除了在build/JacocoHtml
上报告目录的改变。
我看到詹金斯插件中的代码覆盖率为零。我在客户端服务器模式下使用 Jacoco 0.8.7。客户端是詹金斯,服务器(此处存在jaco代理jar)是一个VM。当我使用旧版本的jaco 0.7.4时,这并没有发生。 Jenkins CI日志- Jenkins CI插件配置是这样的。使用ant和maven组合来转储exec文件。
Jacoco插件在jenkins报告中显示0%的覆盖率,但当我在本地系统中运行相同的命令时,Jacoco会正确生成报告。我正在使用以下命令: mvn-s xyz/settings.xml-f xyz/xyz/pom.xml清洁安装org.jacoco 所以当我在jenkins中运行这个命令时,它会生成错误的报告。我已经检查了它在工作区目录对应的项目在詹金斯。它显示每个项目的0%覆盖率。但是当我在本
我正在使用Android Studio 1.2。2和Gradle插件1.2。3. 我正在尝试生成代码覆盖率报告,而不运行,只运行。我希望避免需要连接设备或模拟器,这样我就可以加快Jenkins服务器上的构建速度。 到目前为止,我所能做的最好的事情就是在报告中包含单元测试执行数据,如下所述:Android Studio中的Jacoco代码覆盖。这对于显示所有测试的结果很有用,但是目前我只想运行单元测
问题内容: 从不同的代码库执行业务测试时,我必须获得应用程序的代码覆盖率。 我使用:Maven作为我的构建Jbehave作为我的测试框架。测试是用Java编写的。 我的应用程序是部署在tomcat上的一组war文件。 应用程序代码库与测试代码库是分开的。 为了获得覆盖范围,我遵循以下步骤。 1使用maven编译测试代码。 2将应用程序类从其构建位置($ {app.code.dir} / targe
在运行基于 Gradle 的构建和集成测试后,我在“构建/jacoco”文件夹中成功生成了 2 个 .exec 文件。 gradle命令:“gradle清洁构建集成测试” 完成后,它将在build/jacoco文件夹下生成以下.exec文件。 test.exec integrationTest.exec 以下是我的sonar-project.properties文件。当我在Linux上运行“son
我面临的错误是无法将java.lang.Integer类转换为java.lang.String类。运行gradle测试时-Pnum=10。这是我的代码: