相关疑难解决方法(0)

使用JaCoCo和Gradle进行espresso测试的代码覆盖率为0%

在我的esCopresso测试的JaCoCo代码覆盖率报告中,错过了所有线路和分支.我在一个使用gradle 1.5.0构建的Android应用程序中使用JaCoCo.

我的gradle配置:

apply plugin: 'jacoco'

android {
   buildTypes {
      debug {
         testCoverageEnabled = true
      }
   }
}

jacoco {
   version '0.7.5.201505241946'
}
Run Code Online (Sandbox Code Playgroud)

我关注这篇博文:Android应用程序的测试覆盖率报告.

当我运行时createDebugCoverageReport,报告将在正确的文件夹(build/reports/coverage/flavor/debug/index.html)中生成.但是,当我打开覆盖率报告时,我的代码覆盖率在每个指令和分支上都是0%.一切都"错过"了.

在此输入图像描述

首先,我认为问题可能是源代码和测试代码的位置,但它们位于/src/main/java//src/androidTest/java/

任何人都知道如何解决这个问题?

android gradle jacoco android-gradle-plugin android-espresso

6
推荐指数
1
解决办法
1126
查看次数

如何从卸载应用程序停止Gradle检测的测试运行?

如果我:

  • 创建一个全新的Android Studio 3.5.1项目(Kotlin,API 21,“空活动”模板)
  • 从IDE内部运行应用程序
  • 确认该应用程序已安装并具有启动器图标
  • 运行connectedAndroidDebugTestGradle任务(从Android Studio内部或通过gradlew

该应用程序最终会在测试运行时被卸载。即使我添加了一个testApplicationId值以defaultConfig使测试代码使用其他应用程序ID,我也会得到这种行为。

如何停止这种行为?如何在不干扰现有应用安装的情况下从命令行运行检测测试?

android android-gradle-plugin

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

忽略Gradle构建失败并继续构建脚本?

使用Gradle管理Android的依赖关系是以一种奇怪的方式完成的.它们必须以不同方式下载到本地仓库中.设置CI构建时很难,因为可以运行多个节点.因此我使用sdk-manager-plugin在构建时下载Android依赖项.似乎有一个旧的错误,我正在使用sdk-manager-plugin,但它会在构建时下载依赖项,但它们将无法在该命令上使用.

下次运行该命令时一切正常(因为所有内容都已下载),但是我需要找到一种方法来忽略第一个gradle命令的构建失败,以便下载所有内容并且第二个好.我意识到这很糟糕,但我已经搞砸了这个.

理想情况下这样的事情会起作用:

./gradlew clean --ignoreBuildFailures
./gradlew distributeCIBuild
Run Code Online (Sandbox Code Playgroud)

我在Gradle文档中找到的最接近的东西是--quite,但看起来它不起作用.

任何创意解决方案欢迎

android gradle jenkins android-gradle-plugin

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