标签: gradle-android-test-plugi

如何使用Espresso测试获取Android项目的覆盖范围

我曾经使用Robotium编写Android测试并使用Emma检索覆盖率.

最近我改为使用Espresso测试,我很难找到仪器测试的覆盖范围.我只能检索使用Robolectric的单元测试的覆盖范围.我目前正在使用gradle和Jacoco来做到这一点.我找到的帮助我达到这一点的最佳教程是:https://blog.gouline.net/2015/06/23/code-coverage-on-android-with-jacoco/

是否可以检索使用Android检测的Espresso测试的覆盖范围?

android code-coverage android-testing android-espresso gradle-android-test-plugi

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

升级到Android Studio 3.0后不存在支持注释

将项目升级到AndroidStudio 3.0-beta1后,androidTest文件停止编译。

找不到很多软件包,其中一些是:

错误:程序包android.support.annotation不存在
错误:找不到符号类StringRes
错误:无法访问
android.support.v7.app.AppCompatActivity的AppCompatActivity 类文件

我已经加了

androidTestCompile "com.android.support:support-annotations:25.3.1"
Run Code Online (Sandbox Code Playgroud)

进入build.gradle

但是即使这样,我仍然没有找到错误的包。我尝试从Android Studio内部和终端运行测试./gradlew connectedCheck

android android-testing android-studio gradle-android-test-plugi android-studio-3.0

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

测试,问题跟踪,持续集成 - 推荐GAE和Android应用程序的标准工具

我想征求一些关于什么是理想工具的意见.我希望尽可能少地使用并尽可能紧密地集成.(我已经阅读了大约20个不同的主题,并且在工作中也有一些经验)

对于其中任何一种,我都赞成集成解决方案(例如,如果一个功能作为Android Studio的本机功能,我宁愿使用它)

1)测试

  • GAE后端 - LocalServiceTestHelper测试,定期单元测试
  • App前端 - Roboelectric,Robotium,Monkey

2)测试覆盖率 - EMMA ??? 我认为TeamCity也是如此.还要别的吗?

3)VCS - Git/Github

4)问题检测+跟踪

  • GAE后端 - 开发控制台,日志记录
  • App frontent-- Crashlytics,debug也构建了local-log

我应该使用Github中的集成问题跟踪,还是尝试JIRA?Crashlytics似乎与两者融为一体,或社区有不同的首选工具?

5)CI

  • GAE后端 - 詹金斯?TeamCity的?也许开发中的一些谷歌解决方案?
  • App前端 - 詹金斯?TeamCity的?

6)与您的用户沟通 - 一个集成的解决方案,可以更新Facebook,Twitter,谷歌+和潜在的基于论坛的社区网站.那个空间里有什么漂亮的解决方案吗?

非常感谢.

google-app-engine continuous-integration android-testing google-cloud-endpoints gradle-android-test-plugi

13
推荐指数
1
解决办法
341
查看次数

如果使用gradle-android-test-plugin测试失败,请不要使gradle构建失败

我将我的项目设置为使用Robolectric和gradle-android-test-plugin运行.这一切都很好,第一次测试正在运行并失败.

如果测试失败,这也将使gradle构建失败.有没有办法让构建继续并在后续步骤中写下失败的测试以进行评估?

计划是将测试集成到一个持续集成服务器中,如果测试失败,那么构建应该只是不稳定.

testing android gradle gradle-android-test-plugi

11
推荐指数
2
解决办法
9500
查看次数

变体调试没有类型为INSTANT_RUN_MERGED_MANIFESTS的输出

我想做什么和问题

我将Android Studio和Android Gradle Plugin更新为3.0.0,将Gradle Wrapper更新为4.2.1,并希望通过IDE在设备上构建和部署我的Android Gradle项目.

  • 建设成功
  • 当我尝试将我的:app模块部署到连接的设备时,我收到错误:

    错误:配置项目':integration-test'时出现问题.变体'debug'没有类型'INSTANT_RUN_MERGED_MANIFESTS'的输出

项目详情(简化)

该项目包括:

  • a :库模块
  • an :app模块,用于构建应用程序的apk并使用:library模块
  • an :集成测试模块:
    • 使用"com.android.test"插件
    • 依赖于:app模块通过targetProjectPath':app'和targetVariant'debug'
    • 并包含:app功能的检测测试
    • 只包含一个'main'文件夹(测试插件不支持其他文件夹)

settings.gradle

include :library
include :app
include :integration-test
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.integration_test">

<!-- from https://stackoverflow.com/questions/45631959/how-to-place-android-instrumentation-test-files-outside-of-project-directory -->
<!-- Specify runner and target application package -->
<instrumentation
    android:name="android.support.test.runner.AndroidJUnitRunner"
    android:functionalTest="false"
    android:handleProfiling="false"
    android:label="Tests for com.domain.pro.client"
    android:targetPackage="com.domain.pro.client"/>

<application>
    <uses-library android:name="android.test.runner" />
</application>
Run Code Online (Sandbox Code Playgroud)

上次它的工作原理是: - Build Tools 2.2.3,Gradle 3.4.1和Android Studio 2.3.3

有没有人使用com.android.test插件(使用AndroidManifest文件)与Android Gradle …

android android-testing gradle-android-test-plugi android-studio-3.0 android-gradle-3.0

8
推荐指数
1
解决办法
1265
查看次数

Android Studio 链接引用失败

我在我的 Android Studio 中收到以下错误。这是在我最近更新之后。我的 Android Studio 版本是 3.4,Gradle 版本是 5.5.1,插件版本是 3.4.2

这是错误:

Android 资源链接失败

warn: removing resource com.anirudh.gighub:string/com_facebook_loginview_logged_in_using_facebook_f1gender without required default value.
  F:\gigHub\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:1437: error: resource dimen/smallTxtSize (aka com.anirudh.gighub:dimen/smallTxtSize) not found.
  F:\gigHub\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:1438: error: resource drawable/facebook_signin_btn (aka com.anirudh.gighub:drawable/facebook_signin_btn) not found.
  error: failed linking references.****
Run Code Online (Sandbox Code Playgroud)

这是`build.gradle

//noinspection GradleCompatible
apply plugin: 'com.android.application'
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.anirudh.gighub"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies …
Run Code Online (Sandbox Code Playgroud)

java android android-studio gradle-android-test-plugi

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

使用没有发布变体的 Android 测试插件时避免“变体选择冲突”警告

我想做的事和问题

我将 Android Studio 和 Android Gradle 插件更新为 3.0.1,将 Gradle Wrapper 更新为 4.1,并且可以通过 IDE 在设备上以发行版本构建和部署我的 Android Gradle 项目。

  • 但是,会显示以下“Gradle Sync”警告消息:

    警告:模块“库”选择了变体“发布”,但模块[“集成测试”]依赖于变体“调试”

  • 这里的问题是,使用“com.android.test”插件的集成测试模块没有“发布”变体

  • 如果我只是尝试将发布构建类型 ( buildTypes { release {} }) 添加到 :integration-test 模块,我会收到:

    错误:VariantInputs 初始化时没有合并清单报告:DEFAULT

项目详情(简体)

该项目包括:

  • a :库模块
  • 一个:app 模块,用于构建应用程序的 apk 并使用 :library 模块
  • 一个:集成测试模块
    • 使用“com.android.test”插件
    • 通过 targetProjectPath ':app' 和 targetVariant 'debug' 依赖于 :app 模块
    • 并包含对 :app 函数的仪器测试
    • 仅包含一个“main”文件夹(测试插件不支持其他)
  • 该项目是在Android 测试蓝图之后构建的,因为这里的目标是:app 模块不知道集成测试模块的存在。

设置.gradle

include :library
include :app
include :integration-test
Run Code Online (Sandbox Code Playgroud)

应用程序/build.gradle …

android android-testing android-studio gradle-android-test-plugi android-gradle-3.0

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

如何将testCompile依赖项添加到IDE类路径

很长一段时间以来,我一直在努力解决unit-test-android问题.我已经看到了这个,这个那个,最后我找到了gradle-android-test-plugin甚至让它运行起来.我现在可以用gradlew test命令运行测试了.

但是,在IDE(Android Studio或IntelliJ 13)中编写这些测试是不太舒服的,因为它没有看到junit和Robolectric依赖项添加了testCompile依赖性.

有没有办法将这些依赖项添加到IDE类路径中,但仍然避免将它们打包到生产应用程序中(因此,compile不能使用AFAIU 依赖项)?

junit android gradle gradle-android-test-plugi

5
推荐指数
1
解决办法
1434
查看次数

Android Instrumentation 测试永远停留在“运行测试”上 Android Studio

我将 Android Espresso 测试与最新的 Android Studio 2.1.2 一起使用,并且测试运行正常,但似乎独立测试应用程序没有返回结果以反映回 Android Studio,并且它显示永远运行测试

android-gradle-plugin android-espresso gradle-android-test-plugi android-studio-2.0

5
推荐指数
1
解决办法
3955
查看次数