首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

当 Espresso 遇见 Android 单元测试

作者:施亮 团队:腾讯移动品质中心TMQ 引言 在Android单元测试中,不依赖Android环境的可以使用Junit。...如果依赖Android环境,但是没有UI相关或者UI比较简单(如点击按钮)的单元测试可以使用开源库Robolectric解决依赖问题,使测试运行在JVM上,而非模拟器上,大大提高测试运行效率。...:2.2.2' androidTestCompile'com.android.support.test:runner:0.5' 2、build.gradle中android.defaultConfig配置...方案落地 想对复杂UI控件的代码进行单元测试,设计了如下方案。...以上,UI控件执行了初始化代码及各函数代码,达到单元测试的目的。 那么问题来了,为何不用Espresso直接获取UI控件对象进行函数调用呢?

2.4K10

详解Android单元测试最佳实践

目的 充分的单元测试就是提高代码质量最有效的手段之一,而单元测试严重依赖代码的可测试性,本文主要通过一个简单的DEMO演示如何对Android原生应用进行单元测试,同时示例代码采用MVP模式以提高代码的可读性和可测试性...简介 在Android原生应用开发中,存在两种单元测试:本地JVM测试和Instrumentation测试。...这种方式运行速度慢,且严重依赖Android运行环境,更适合用来做集成测试 准备 我准备了一个简单的APP,模拟一个耗时的网络请求获得一段数据并显示在界面上,针对这个APP编写单元测试用例并进行本地单元测试...App运行效果 依赖库 依赖库 作用 JUnit-4.12 基础得单元测试框架 Robolectric-3.8 Android SDK测试框架 PowerMock-1.6.6 模拟被测对象依赖的静态方法...Robolectric是一个开源的单元测试框架,能够完全模拟Android SDK并在JVM中运行。

2.4K31

Android单元测试框架Espresso介绍

大家都知道,测试Android系统原生态APP目前最好的工具使UiAutomation,随着DevOps的普及,我们需要尽早地发现程序中的缺陷,所以单元测试变得非常重要,Android系统推出了Espresso...{ exclude group: 'com.android.support', module: 'support-annotations' })} 这里特别需要注意的是:com.android.support.test...package com.example.espresso.demo4; import android.support.test.filters.LargeTest; import android.support.test.rule.ActivityTestRule...; import android.support.test.runner.AndroidJUnit4; import static android.support.test.espresso.Espresso.onView...; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withText

94930

Android开发之逻辑单元测试

单元测试的必要性 完整,规范的单元测试有利于提升程序的“自动化”验证 降低后期程序的维护成本 高覆盖率的单元测试在很大程度上能提前发现一些潜在的bug 编写单元测试的过程中可以帮助程序模块化重构,一个耦合性非常高的程序是无法针对他编写完善的单元测试的...单元测试的分类 纯代码逻辑的单元测试,也就是Java单元测试,在test目录下 目前我们项目中用junit + powermock这一套单元测试框架,选择powermock的一个重要的原因就是:现如今比较流行的...程序来说,很多时候代码里面可能会有android的一些相关的类,接口等,但是在JUnit环境下,是没有这些环境的,例如说Context,任何运行到android类的地方都会直接崩溃,这时候需要把这些类或者方法...mock掉,返回我们指定的值,Java单元测试的重点是测试Java代码的逻辑,具体的android相关的是不关注的,可以通过android单元测试来测试android的相关代码 每一个单元测试方法都要写详细的注释...,因为理论上一个单元测试方法的执行时间都是ms级别的,针对这种问题,考虑放到androidTest下去测试,不要在逻辑单元测试中做 Android单元测试,在androidTest目录下 四大组件的测试

1.3K10

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

Mock系统的final静态类 四、Robolectric测试框架的使用 五、Espresso测试框架的使用 Android单元测试主要分为以下两种 本地单元测试(Junit Test), 本地单元测试是纯...在Android Studio中新建一个项目的时候,app的gradle中会默认添加单元测试的相关依赖库: dependencies { implementation fileTree(dir: 'libs...这与单元测试的思路相违背。...还有一个主要的问题就是本地单元测试由于是运行本地JVM环境,无法依赖Android的api,只靠纯Junit的测试环境很难模拟出完整的Android环境,导致无法测试Android相关的代码,而Mock...四、Robolectric测试框架的使用 由于Robolectric部分的内容比较长,所以单独放了一篇文章中:Android单元测试框架Robolectric的学习使用 五、Espresso测试框架的使用

4.8K20

java单元测试覆盖率_android单元测试覆盖率

一、简介 之所以叫温故而知新,是因为将这两个工具结合起来作为单元测试工具的想法在上一个项目中应用了,好像还没有人将这两种工具结合使用,或者没有写成博客供大家参考,现在重新温习下将想法写下来...gtest单元测试工具接触过的人都很熟悉了,它是一款google提供的强大的测试框架,测试案例的编写也比较简单,gtest案例的编写可以参考系列博文:http://www.cnblogs.com/coderzh...messageModelLib目录内容如下: (2)重点是gtest_lcov目录,该目录是专门用来进行单元测试的,目录内容如下: 说明:gtest_tool 为gtest源码的删减版,lcov-1.11.../lcov_out/index.html (7)覆盖率统计图表: 至此,gtest单元测试工具和lcov覆盖率统计工具的结合使用介绍完毕,共同学习进步。

1.9K20

Android Junit单元测试-声明套件类

不知道大家日常开发会不会写单元测试用例,也是我们常说的小型测试,我们通常会为一些可测试的模块或类单独写一个测试类,如果我们测试类比较多的话我们就可能会声明一个测试套件类来统一运行多个测试类,本文就简单说一下如何来定义和声明测试套件类...该类中不包含其他方法) @Category(用于指定分类执行) @Suite.SuiteClasse(用于指定套件运行的测试类) 下面是我们声明小型测试套件类的实践: 声明小型测试接口 /** * 单元测试用例归属的策略...* * @author devilwwj */public interface Small { } 创建单元测试类 @Category(Small.class) public class ExampleUnitTest...声明runner /** * 单元测试套件类....ExampleUnitTest.class, ExampleUnitTest2.class}) public class SmallTestRunner { } 以后我们只需要在@Suite.SuiteClasses声明新增的单元测试类即可

45940

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

单元测试Android) 活动时间:2017年6月14日 斗鱼直播:http://www.douyu.com/TMQ 活动介绍:TMQ在线沙龙第二十二期分享 本次分享的主题是:单元测试Android...分享主题 1、Android单元测试简介和意义 2、Android单元测试常用框架介绍 3、结合业务开展Android单元测试 问答环节 1、多少人开发多少人写单元测试case?...答:开发和测试比为8:1,单元测试现在暂时是测试人员写,只写重点功能。 2、单间介绍一下单元测试框架主要包括哪些吗?...5、怎么mock Android的类呢? 答:按普通类mock,但正常情况下不需要mock,除非出现异常。 6、如果被调用的方法都是用getinstance调用的还能mock? 答:可以。...7、怎么保证单元测试的质量以及可维护性? 答:见《单元测试的艺术》一书中的优秀的单元测试特性。 8、开发有必要学搞测试框架吗?

1.7K60

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

通常大型项目都是通过黑盒测试等方式来提供质量相关的保障,但同时笔者认为也需要 Android 端的单元测试以及能自动在 Android 平台上运行的 UI 测试,这几种测试有以下几个优势: 更早发现代码中存在的...Android 测试代码位置 在 Android Studio 中新建新的项目时,它已自动为两种测试类型创建了对应的代码目录: 单元测试用例:位于 module-name/src/test/java 目录下...环境下才能运行 接下来,笔者将尝试为自己的项目(基于 MVP 架构开发)补充相应的单元测试用例和 UI 测试用例,来初步实践下如何在 Android 平台编写和运行相关的测试用例。...Android 单元测试实践 创建新用例 如果需要编写一个新的本地单元测试用例,只需打开你想测试的 java 代码文件,然后点击类名 – ⇧⌘T(Windows:Ctrl+Shift+T)– 选择要生成的方法...至此,一个 Android单元测试用例编写完成。通过 Android Studio 直接运行此单元测试用例,结果如下: ?

2K10

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

文章目录 一、org.gradle.api.tasks.testing.Test 单元测试配置类 1、Test 单元测试配置回顾 2、启动单元测试 3、设置 JVM 系统属性 4、打开命令行标准输出...二、单元测试示例 单元测试类 gradle 配置 1、右键运行单元测试 3、执行单元测试 Gradle 任务 4、查看单元测试命令行输出 5、查看单元测试报告 Android Plugin DSL Reference.../testing/Test.html 1、Test 单元测试配置回顾 在上一篇博客 【Android Gradle 插件】TestOptions 配置 ③ ( TestOptions#unitTests...启用 TestNG 支持 , 也就是启用 单元测试 , 默认的单元测试类型是 JUnit 单元测试 ; useTestNG() 3、设置 JVM 系统属性 为测试的 Java 虚拟机 ( JVM )...在单元测试类中 , 鼠标右键点击单元测试方法名 , 即可执行该方法 ; 注意 : 在单元测试类中 , 点击右键运行不会生成测试报告 , 执行结果 : 3、执行单元测试 Gradle 任务 标准的单元测试

1.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券