我曾经使用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
将项目升级到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
我想征求一些关于什么是理想工具的意见.我希望尽可能少地使用并尽可能紧密地集成.(我已经阅读了大约20个不同的主题,并且在工作中也有一些经验)
对于其中任何一种,我都赞成集成解决方案(例如,如果一个功能作为Android Studio的本机功能,我宁愿使用它)
1)测试
2)测试覆盖率 - EMMA ??? 我认为TeamCity也是如此.还要别的吗?
3)VCS - Git/Github
4)问题检测+跟踪
我应该使用Github中的集成问题跟踪,还是尝试JIRA?Crashlytics似乎与两者融为一体,或社区有不同的首选工具?
5)CI
6)与您的用户沟通 - 一个集成的解决方案,可以更新Facebook,Twitter,谷歌+和潜在的基于论坛的社区网站.那个空间里有什么漂亮的解决方案吗?
非常感谢.
google-app-engine continuous-integration android-testing google-cloud-endpoints gradle-android-test-plugi
我将我的项目设置为使用Robolectric和gradle-android-test-plugin运行.这一切都很好,第一次测试正在运行并失败.
如果测试失败,这也将使gradle构建失败.有没有办法让构建继续并在后续步骤中写下失败的测试以进行评估?
计划是将测试集成到一个持续集成服务器中,如果测试失败,那么构建应该只是不稳定.
我想做什么和问题
我将Android Studio和Android Gradle Plugin更新为3.0.0,将Gradle Wrapper更新为4.2.1,并希望通过IDE在设备上构建和部署我的Android Gradle项目.
当我尝试将我的:app模块部署到连接的设备时,我收到错误:
错误:配置项目':integration-test'时出现问题.变体'debug'没有类型'INSTANT_RUN_MERGED_MANIFESTS'的输出
项目详情(简化)
该项目包括:
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
我在我的 Android Studio 中收到以下错误。这是在我最近更新之后。我的 Android Studio 版本是 3.4,Gradle 版本是 5.5.1,插件版本是 3.4.2
这是错误:
Android 资源链接失败
Run Code Online (Sandbox Code Playgroud)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.****
这是`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) 我想做的事和问题
我将 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
项目详情(简体)
该项目包括:
设置.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
很长一段时间以来,我一直在努力解决unit-test-android问题.我已经看到了这个,这个和那个,最后我找到了gradle-android-test-plugin甚至让它运行起来.我现在可以用gradlew test命令运行测试了.
但是,在IDE(Android Studio或IntelliJ 13)中编写这些测试是不太舒服的,因为它没有看到junit和Robolectric依赖项添加了testCompile依赖性.
有没有办法将这些依赖项添加到IDE类路径中,但仍然避免将它们打包到生产应用程序中(因此,compile不能使用AFAIU 依赖项)?
我将 Android Espresso 测试与最新的 Android Studio 2.1.2 一起使用,并且测试运行正常,但似乎独立测试应用程序没有返回结果以反映回 Android Studio,并且它显示永远运行测试
android-gradle-plugin android-espresso gradle-android-test-plugi android-studio-2.0