首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android :要使用Mockito同时支持espresso和单元测试,正确的gradle配置是什么?

要使用Mockito同时支持espresso和单元测试,正确的gradle配置如下:

在app模块的build.gradle文件中添加以下依赖项:

代码语言:groovy
复制
dependencies {
    // 单元测试依赖
    testImplementation 'junit:junit:4.13.2'
    testImplementation 'org.mockito:mockito-core:3.12.4'

    // Espresso依赖
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'org.mockito:mockito-android:3.12.4'
}

然后,在同一个build.gradle文件中,添加以下配置:

代码语言:groovy
复制
android {
    // ...

    // 单元测试配置
    testOptions {
        unitTests {
            includeAndroidResources = true
        }
    }

    // Espresso配置
    android {
        defaultConfig {
            testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
        }
    }
}

这样配置后,你就可以同时使用Mockito进行单元测试和espresso进行UI测试了。

注意:以上配置是基于AndroidX和JUnit 4的,如果你使用的是旧版的Android Support库或JUnit 3,配置可能会有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 单元测试 UI 测试初步实践

通常大型项目都是通过黑盒测试等方式来提供质量相关保障,但同时笔者认为也需要 Android单元测试以及能自动在 Android 平台上运行 UI 测试,这几种测试有以下几个优势: 更早发现代码中存在...环境下才能运行 接下来,笔者将尝试为自己项目(基于 MVP 架构开发)补充相应单元测试用例 UI 测试用例,来初步实践下如何在 Android 平台编写运行相关测试用例。...增加依赖库 需要 JUnit Mockito 框架支持,所以在 build.gradle 中增加: testImplementation "junit:junit:4.12" testImplementation...验证结果正确性:一般来说,我们验证一个方法执行结果是否正确,最简单方法就是看执行完方法输出是否与预期输出相一致。...增加依赖库 需要 Espresso 框架支持,所以在 build.gradle 中增加(注意是 androidTestImplementation): androidTestImplementation

2K10

【测试左移专栏】用 Powermock Mockito 来做安卓单元测试

业界上已经有很多工具可以支持Android系统下单元测试,主要分为两大类: (1)Instrumentation 通过Android系统Instrumentation测试框架,我们可以编写测试代码...测试选型:他职责决定了他很少去断言输入输出,测试逻辑覆盖路径是否正确即可,因此他与Android环境无关,用Junit+Mockito测试即可,代码存放于test中。...可能有的公司需要网络代理,那这个需要根据具体情况在Gradle配置了。...尝试使用Junit、MockitoPowermock来编写MVP三层单元测试用例,在经过一阵探索后,MVP三层逻辑基本都可以通过MockitoPowermock来模拟出来,运行起来关键是速度快,...上面的单元测试特性也基本都能满足,最终决定使用Junit、MockitoPowermock这个框架组合来进行我们单元测试用例设计编写。

3.7K00

Android Gradle依赖管理、去除重复依赖、忽略方式

: 1) jar 包:远程依赖不会打包到 aar 中;本地依赖会; 2) aar:远程本地都不不会打包到 aar中. 3) 如果你提供你库工程 aar 给他人,你需要同时告诉他这个库工程依赖其他...so文件 pickFirst只会打包第一个遇到冲突so,merge(碰到冲突会合并)exclude(直接排除匹配到文件,不建议使用) packagingOptions { pickFirst...More than one 补充知识:Gradle依赖统一管理,解决依赖冲突 看见别人在用implementation rootProject.ext.dependencies[“xxxx”]不知道是什么意思...: "com.android.support.test.espresso:espresso-idling-resource:3.0.2", //unit test , 为了整合mockitoPowerMockito...,mockito暂时最高只支持2.8.9 "junit" : "junit:junit:4.12", "mockito" : "org.mockito

10.3K31

使用强大 Mockito 来测试你代码

2.4 使用mockito生成mock对象 Mockito 是一个流行 mock 框架,可以JUnit结合起来使用Mockito 允许你创建和配置 mock 对象。...3.3 在EclipseIDE使用mockito Eclipse IDE 支持 Gradle Maven 两种构建工具,所以在 Eclipse IDE 添加依赖取决你使用是哪一个构建工具。...4.2 使用Mockito创建和配置mock对象 除了上面所说使用 mock() 静态方法外,Mockito支持通过 @Mock 注解方式来创建 mock 对象。...若想使用 Android Instrumented tests 的话,还需要添加 dexmaker dexmaker-mockito 依赖到 Gradle 构建文件中。...mockito-core:1.+' } 6.3 创建测试 使用 Mockito 创建一个单元测试来验证在传递正确 extra data 情况下,intent 是否被触发。

10.4K60

每个开发者都应该懂一点单元测试

,他针对android平台单元测试写了一个系列文章,从什么是单元测试单元测试意义、各种方法怎样做单元测试单元测试集成测试区别、各种测试框架开源库在写单元测试时如何很好地被使用、以及如何mock...Android单元测试; Robotium:第三方UI测试框架; Espresso:Google推出UI测试框架; UI Automator:流程UI测试框架; 3 覆盖率 衡量单元测试质量...要使用Mock技术,就需要使用mock框架,MockitoJmockit是Android平台两个常用Mock框架,其中Mockito不能mock static methodfinal class、...,从是什么开始 Android单元测试(二):再来谈谈为什么 Android单元测试(三):JUnit单元测试框架使用 Android单元测试(四):Mock以及Mockito使用 Android单元测试...安卓单元测试(八):Junit Rule使用 安卓单元测试(九):使用Mockito Annotation快速创建Mock Android单元测试(十):DaggerMock:The Power of

90330

#Android单元测试学习总结「建议收藏」

Mock系统final静态类 四、Robolectric测试框架使用 五、Espresso测试框架使用 Android单元测试主要分为以下两种 本地单元测试(Junit Test), 本地单元测试是纯...在Android Studio中新建一个项目的时候,appgradle中会默认添加单元测试相关依赖库: dependencies { implementation fileTree(dir: 'libs...除了系统静态final类情况,其他情况下PowerMockitoMockito可以同时依赖(我测试是没有问题)。...另外单纯Mockito新版本中也支持对 final 类 final 方法 Mock,但是需要添加配置文件并不友好。...四、Robolectric测试框架使用 由于Robolectric部分内容比较长,所以单独放了一篇文章中:Android单元测试框架Robolectric学习使用 五、Espresso测试框架使用

4.8K20

Android Studio环境下建立UiAutomator环境

1、 JDK安装 Android Studio也是基于JAVA开发,所以同样下载JDK版本,由于这里我们需要使用UiAutomator2,所以建议大家安装JDK8.0。...首先建立%ANDROID_HOME%,然后在PATH中加入“%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;”,运行命令adb devices检查是否配置正确...进入下一步,进行如下图配置: ? 在这里需要注意Minimum API level不要小与18.接下来配置成功,把项目格式改为按Android视图模式查看,然后打开build.gradle。...Android Studio配置通过这里进行配置。...单元测试使用,testImplementation '包名'可以在“普通单元测试区”Android单元测试区”使用;而命令implementation '包名'只能在Android产品代码区使用

2K30

Android 3分钟带你入门开发测试

,开发测试分单元测试UI测试,通过开发测试可以减少开发人员自测时间,提升开发质量。...3、Espresso 自动化测试使用AndroidInstrumentation API,这些API调用在一个与UI线程不同线程中运行,因此,使用自动化方法测试用户界面会导致严重并发问题,进而产生不一致不可靠测试结果...在运行时,这些测试执行对象是去掉了所有 final 修饰符修改版 android.jar。这样一来,您就可以使用 Mockito 之类常见模拟库。...可以在编写集成功能 UI 测试来自动化用户交互时,或者在测试具有模拟对象无法满足 Android 依赖项时使用这些测试。...您可以在project窗口中看到他们,如图1-1所示: 添加一个新测试 在写单元测试之前,务必确定gradle中做好相应配置

1.1K50

Espresso 遇见 Android 单元测试

作者:施亮 团队:腾讯移动品质中心TMQ 引言 在Android单元测试中,不依赖Android环境可以使用Junit。...如果依赖Android环境,但是没有UI相关或者UI比较简单(如点击按钮)单元测试可以使用开源库Robolectric解决依赖问题,使测试运行在JVM上,而非模拟器上,大大提高测试运行效率。...:2.2.2' androidTestCompile'com.android.support.test:runner:0.5' 2、build.gradleandroid.defaultConfig配置...1、将UI控件放入Activity(xml中配置); 2、添加一个输入框(也可用Spinner)按钮用来提交命令,不同命令控制UI控件调用不同函数,Activity制作完成; 3、使用Espresso...并且,Espresso与Uiautomator依赖可以同时添加在工程中混合使用,也是棒棒哒。 获取更多测试干货,请搜索微信公众号腾讯移动品质中心TMQ!

2.4K10

跟着google学习mvp架构

对于单元测试,需要预先了解以下内容: Android StudiotestAndroidTest AndroidJUnitRunner:一个兼容Junit4Andriod单元测试框架 Mockito...:单元测试利器 Espresso支持UI测试单元测试框架 ?...P层:不需要任何Android环境,因此使用Junit测试即可 V层:使用Google强大Espresso进行UI测试 M层:涉及到数据库相关操作,因此需要依赖Android环境,使用AndroidJUnitRunner...测试选型: 他职责决定了他很少去断言输入输出,测试逻辑覆盖路径是否正确即可,因此他与Android环境无关,用Junit+Mockito测试即可,代码存放于test中。...UT选型Junit+Mockito,代码存放于test中。 这里想深入了解有关测试内用可以看Android官方MVP项目单元测试

60240

腾讯TMQ在线沙龙回顾|单元测试Android

分享主题 1、Android单元测试简介意义 2、Android单元测试常用框架介绍 3、结合业务开展Android单元测试 问答环节 1、多少人开发多少人写单元测试case?...答:开发测试比为8:1,单元测试现在暂时是测试人员写,只写重点功能。 2、单间介绍一下单元测试框架主要包括哪些吗?...答:Espresso、Robolectric, Mockito, Powermock、JUnit。 3、空方法不用模拟吧? 答:空方法不需要模拟,刚才说是返回为void方法。...4、powermock跟mockito主要是用来mock吧? 答:是的。 5、怎么mock Android类呢? 答:按普通类mock,但正常情况下不需要mock,除非出现异常。...答:这个要看具体情况吧,主要是你测试重点是什么,是真实执行sql,还是只关注结果。 11、不用robolectric,如何测试SQLite?

1.8K60

详解Android单元测试最佳实践

目的 充分单元测试就是提高代码质量最有效手段之一,而单元测试严重依赖代码可测试性,本文主要通过一个简单DEMO演示如何对Android原生应用进行单元测试同时示例代码采用MVP模式以提高代码可读性可测试性...简介 在Android原生应用开发中,存在两种单元测试:本地JVM测试Instrumentation测试。...Mockito-1.10.19 模拟被测对象依赖对象 配置build.gradle 增加编译选项,在测试中包含资源文件 testOptions { unitTests { includeAndroidResources...UI依赖于Persenter,在Activity中通过静态工厂方法创建依赖Presenter实例,需要使用PowerMock来模拟创建Presenter过程,完成Presenter模拟对象注入 配置...通过@RunWith指定使用RobolectricTestRunner 通过@Config配置Robolectric运行环境 通过@PrepareForTest配置PowerMock需要模拟静态类型

2.4K31

第十二章 Android Gradle测试

Android为测试提供了很好支持,既可以使用传统Junit测试,又可以使用Android提供Instrument测试,这一章我们主要讲Android GradleAndroid测试之间配合结合...,期间会涉及一些单元测试用例或者对一些测试框架使用,但是主要介绍点还是Android GradleAndroid测试,对于Android测试本身介绍不多,关于Android测试本身,比如Activity...看到这里,我们应该发现一个现象,targetPackage这个属性我们并没有配置,怎么在AndroidManifest.xml也生成了呢,这是Android Gradle自动帮我们做,它会使用被测试App...这个前提我们一定要有一台Android设备或者Android模拟器以供我们测试使用,如果你同时运行了多个设备,那么会在每个设备上都执行测试用例。...运行测试方面也是一样,执行命令行执行命令即可。 12.2 本地单元测试 今天到这里, ....... 本文属自学历程, 仅供参考 详情请支持原书 Android Gradle权威指南

50920

androidX_android targetSdkVersion

所以对于使用AndroidX后,不需要因为使用v4还是v7库而烦恼了。 修改项目中gradle.properties文件中将下面两个属性置为true就能完全使用AndroidX库了。...android.useAndroidX:使用相应 AndroidX 库,而非支持android.enableJetifier:重写其二进制文件,自动迁移现有的第三方库以使用 AndroidX 更多具体信息及如何使用请到...1.在默认情况下,Android Studio使用是非AndroidX支持库中Junit相关库,build.gradle(Module:app) 中关于Junit大概配置如下: android {...:espresso-core:3.1.0-alpha4' } 修改配置后 重新Build下工程,具体类中报错重新import对应库类即可。...(3)3处有androidTestest两个文件夹,有什么区别呢, androidTest/java: Android单元测试,执行测试时候需要连接Android设备(或AVD),需要Android

72910

Android开发者UI自动化测试上手指南

,测试工程师具有很多优势条件,那作为开发者进行自动化测试目的是什么?...一些Espresso主要方法 UI自动化具体实例 这里建议参照官方文档给出步骤进行实践,示例给出自己在实践demo中配置自动化测试基本步骤。...在gradle添加支持 在app目录下build.gradle中dependencies设置对Espresso编译依赖,在android.defaultConfig设置InstrumentationRunner...// 在app目录下build.gradle添加对Espresso依赖dependencies { androidTestCompile('com.android.support.test.espresso...编写测试方法,按照前面说“找元素,做操作, 验证结果”三个步骤编 写测试方法,使用@Test注解。 建议使用test作为方法名开头,这样可以更好区分普通方法测试方法 ?

81120

Android Gradle 插件】TestOptions 配置 ④ ( org.gradle.api.tasks.testing.Test 单元测试配置类 | Android 单元测试示例 )

二、单元测试示例 单元测试gradle 配置 1、右键运行单元测试 3、执行单元测试 Gradle 任务 4、查看单元测试命令行输出 5、查看单元测试报告 Android Plugin DSL Reference...启用 TestNG 支持 , 也就是启用 单元测试 , 默认单元测试类型是 JUnit 单元测试 ; useTestNG() 3、设置 JVM 系统属性 为测试 Java 虚拟机 ( JVM )...’ 对应 ‘value’ 值 ; 4、打开命令行标准输出 如果想要在 Console 命令行中查看测试过程 , 需要开启 Java 虚拟机 标准输出 标准错误 ; // show standard..., 支持 5.0 以下版本手机使用矢量图 , 这个是创建应用时自带配置 implementation 'androidx.appcompat:appcompat:1.2.0' implementation...:espresso-core:3.3.0' } 1、右键运行单元测试单元测试类中 , 鼠标右键点击单元测试方法名 , 即可执行该方法 ; 注意 : 在单元测试类中 , 点击右键运行不会生成测试报告

1.2K20

代码整洁之道-读书笔记之单元测试

TDD 三定律 第一定律:在编写不能通过单元测试前,不可变写生产代码。 第二定律:只可编写刚好不可通过单元测试,不能编译也算不通过。...保持测试整洁有人认为测试代码不用遵循生产代码质量标准变量名不用好测试函数不必短小具有描述测试代码不必做良好设计仔细划分测试代码只要还能工作即可不好测试带来问题后期修改成本高新增测试代码难度大可能需要丢弃测试代码...,直接使用无测试代码,风险高所以测试代码生产代码一样重要。...整洁测试可读性是测试代码最重要衡量指标,保证测试代码明确、简介、还有足够表达力测试三个环节give(准备数据)when ( 执行逻辑)then (验证逻辑)看一个例子package com.xxx.mas.cd.platform.service...: 测试一定是有断言,可以自我验证逻辑正确性及时:测试应该生产代码同时编写。

53620
领券