博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android单元测试之三:使用模拟框架模拟依赖
阅读量:5821 次
发布时间:2019-06-18

本文共 1184 字,大约阅读时间需要 3 分钟。

Android单元测试之三:使用模拟框架模拟依赖

基本描述

  如果是一些工具类方法的测试,如计算两数之和的方法,本地 JVM 虚拟机就能提供足够的运行环境,但如果要测试的单元依赖了 Android 框架,比如用到了 Android 中的 Context 类的一些方法,本地 JVM 将无法提供这样的环境,这时候模拟框架 Mockito 就派上用场了。

使用

引入框架

testImplementation 'org.mockito:mockito-core:2.19.0'

测试类

package com.zm.androidUnitTest;import android.content.Context;import org.junit.Test;import org.junit.runner.RunWith;import org.mockito.Mock;import org.mockito.junit.MockitoJUnitRunner;import static org.hamcrest.core.Is.is;import static org.junit.Assert.assertThat;import static org.mockito.Mockito.when;/** * Created by zhangmiao on 2019/2/24. */@RunWith(MockitoJUnitRunner.class)public class MockUnitTest {    private static final String FAKE_STRING = "AndroidUnitTest";    @Mock    Context mMockContext;    @Test    public void readStringFromContext_LocalizedString() {        when(mMockContext.getString(R.string.app_name)).thenReturn(FAKE_STRING);        assertThat(mMockContext.getString(R.string.app_name),is(FAKE_STRING));        when(mMockContext.getPackageName()).thenReturn("com.jdqm.androidunittest");        System.out.println(mMockContext.getPackageName());    }}

测试结果

参考文章

转载于:https://www.cnblogs.com/zhangmiao14/p/10430955.html

你可能感兴趣的文章
如何基于Redis Replication设计并实现Redis-replicator?
查看>>
Linux 环境下 PHP 扩展的编译与安装 以 mysqli 为例
查看>>
浮点数内存如何存储的
查看>>
贪吃蛇
查看>>
EventSystem
查看>>
用WINSOCK API实现同步非阻塞方式的网络通讯
查看>>
玩一玩博客,嘿嘿
查看>>
P1352 没有上司的舞会
查看>>
ios11文件夹
查看>>
【HLOJ 559】好朋友的题
查看>>
Electric Fence(皮克定理)
查看>>
nvl 在mysql中如何处理
查看>>
MyEclipse 快捷键
查看>>
快速傅里叶变换FFT
查看>>
大数据常用基本算法
查看>>
JavaScript学习笔记(十三)——生成器(generator)
查看>>
hibernate保存失败
查看>>
MySQL增量订阅&消费组件Canal POC
查看>>
Sqlite多线程
查看>>
数据结构-时间复杂度
查看>>