我正在尝试在 Gradle 中生成 Jacoco 测试报告。当我尝试同步我的代码时,我将收到以下错误:
错误:(56,0)找不到参数[build_38ehqsoyd54r3n1gzrop303so]的方法jacoTestReport()$_run_closure4@10012308]在项目上:org.gradle.api.project类型的“app”。
我的build.gradle文件包含以下项目:
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7.6.201602180812"
reportsDir = file("$buildDir/reports/jacoco")
}
jacocoTestReport {
group = "Reporting"
reports {
xml.enabled true
csv.enabled false
html.destination "${buildDir}/reports/coverage"
}
}
当我查看文档时,我没有看到任何我做错了什么。
Gradle版本:3.3
为什么我会收到此错误,如何解决?
基本上,我知道两种方法可以实现这一目标。
第一种方法是内置的android gradle插件功能:
android {
...
buildTypes {
debug {
testCoverageEnabled = true
}
...
}
...
}
这个将定义可以执行的分级任务。据我所知,这适用于仪器测试。更多信息:Android上的代码覆盖率
第二种方法是使用这个插件:
https://github . com/vanniktech/grad le-Android-JUnit-ja coco-plugin
设置很简单:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.6.0'
}
}
apply plugin: 'com.vanniktech.android.junit.jacoco'
项目同步后,您将拥有JacocoTestReport等任务
我们使用它来衡量在本地机器上运行的单元测试的代码覆盖率。
如您的问题中提到的文档所述:
如果Java插件也应用到您的项目中,那么将会创建一个名为jacocoTestReport的新任务,它依赖于测试任务。
什么是非常合乎逻辑的——Java代码覆盖率的度量需要编译、执行测试等。
因此,确实使用build.gradle
的示例会导致失败,在添加应用插件:'java'
后失败会消失。
当尝试在我的魅族MX3上运行Android项目时,我得到了主题中提到的问题。 任何帮助都将得到感激。
问题内容: 我正在重写一个小应用程序,但是当它加载时,它给了我一个运行时异常。例外是 这是RunClient: 这是ClientSettings.java,这是从各种文件中调用的,args始终使用 在RunClient中 问题答案: 的第41行在上寻找默认构造函数,该构造函数不存在。您定义了一个带有的构造函数,因此不会生成任何默认构造函数。您发布的代码似乎不是正在运行的代码,因为它似乎显示了正确的
问题内容: 我在使用简单的hello world程序时遇到了麻烦!我希望有人能对此有所启发。 因此,我收到的错误如下: 因此,通过错误,我可以看到它 显然 缺少main,但是它在那里: 如果有帮助,我就在Mac OS / X上。 问题答案: 问题在于您的方法没有采用String数组作为参数。请使用以下签名: 要么 其他有效选项是: 在Java语言规范中,这被告知如下: 方法main必须声明为pub
问题内容: 我有一个带有本机函数的小型JNI文件,该函数将char数组转换为字节数组(因此我可以将其发送到我的C ++客户端)。 定义如下: 软件包名称(加载库的位置是: 并且该类中的本机deffiniton如下: 但是当调用ConvertString函数时,我得到以下错误: 问题可能是该类(communicationmoduleTCPIP)是可运行的类吗?我不在类中运行,并且具有以下定义(当我注
问题内容: 嗨,我试图建立一个小型的webapp,但是我遇到了错误。下面是我的代码 我正在使用httpclient-4.0-beta2.jar和httpcore-4.0.1.jar。看起来BasicHttpContext与我的应用程序中的其他jar冲突了,但是我无法弄清楚。任何线索将不胜感激。 问题答案: 您似乎有一个jar文件,其中包含的旧/更新版本。如果直接发生冲突,您会收到。通常,Class