Android 单元测试之 Mockk

这篇具有很好参考价值的文章主要介绍了Android 单元测试之 Mockk。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • relaxed: 是否对其代码进行依赖,默认为否,这个参数比较关键,后续会更细的讲解一下

  • moreInterfaces: 让这个mock出来的对象实现这些声明的接口

  • relaxUnitFun:和relaxed 差不多,但是只针对于 返回值是Unit 的方法, 后续会讲解一下

  • block: 该语句块表示你在创建完 mock 对象后的操作,相当于 .also{ ... } 语句

[](()2.3.2 relaxed 和 relaxUnitFun

在 mock 一个对象时,这两个参数的意义是什么呢? 举个例子,我现在有一个被测类 Car,它依赖于一个 Engine:

class Car(private val engine: Engine) {

fun getSpeed(): Int {

return engine.getSpeed()

}

}

class Engine {

fun getSpeed(): Int {

return calSpeed()

}

private fun calSpeed(): Int {

return 30

}

}

我们要测试 getSpeed(),它依赖于 Engine 里的方法,所以我们需要 mockk 一下 Engine,那么写下下面的测试方法:

fun testCar() {

// mock engine对象

val engine = mockk()

val car = Car(engine)

// 这里是私有方法设置监听的写法:

every { engine"calSpeed" } returns 30

val speed =文章来源地址https://www.toymoban.com/news/detail-430590.html

到了这里,关于Android 单元测试之 Mockk的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 单元测试初体验

    当初在学校学安卓的时候,老师敢教学进度,翻到单元测试这一章节的时候提了两句,没有把单元测试当重点讲,只是说我们工作中几乎不会用到,果真在之前的几年工作当中我真的没有用到,工作中都没有写过单元测试,后来我自己也下意识的忽略了这一块,直到听说现在

    2024年02月03日
    浏览(34)
  • Android 单元测试之PowerMock

    class PowerMockClassTest { @Test fun isFileExists() { // Mock 一个 File对象 val file = PowerMockito.mock(File::class.java) // 创建当前类 val powerMockitoClass = PowerMockClass() // 当Mock对象被调用了 exists() 方法,则返回False PowerMockito. when (file.exists()).thenReturn(false) // 进行断言 assertFalse(file.exists()) } } 对于这种

    2024年04月23日
    浏览(30)
  • Android 自动化单元测试

    2024年02月13日
    浏览(32)
  • Android 单元测试框架 JUnit 4

    JUnit 4测试框架,它是Java中广泛使用的单元测试框架之一,使开发者能够编写可重复、可维护和可验证的测试。 单元测试是针对代码中的个别单元或组件进行测试,可以包括以下方面: 功能测试:测试代码单元是否按照预期执行功能。 边界测试:测试代码单元响应不同的边

    2024年02月15日
    浏览(34)
  • Android Studio系列-Activity单元测试,字节Android高级岗

    新建Activity单元测试类 =============== package com.devilwwj.unittestdemo; import android.content.Intent; import android.test.ActivityUnitTestCase; import android.test.suitebuilder.annotation.MediumTest; import android.widget.Button; /** Created by wwj_748 on 2016/2/22.17.12 */ public class LoginActivityTest extends ActivityUnitTestCase { private Inten

    2024年04月25日
    浏览(51)
  • Android单元测试系列(3)-Mock之Mockito

    目录 一、官网 二、Demo示例 1. 目录结构 2. 被测试的类 3. 测试类 三、Mockito方法说明 1. mock对象创建 2. Mockito框架中的常见方法说明 2.1 常见的打桩方法 2.2 常见的验证行为 2.3 其他方法  3. Mockito的局限性 Mockito: https://github.com/mockito/mockito Mockito (Mockito 4.4.0 API) 为什么要用mock:

    2023年04月15日
    浏览(26)
  • Android单元测试系列(3)-Mock之PowerMock

    目录 一、官网 二、Demo示例  三、PowerMock常用的测试方法 1. Private 1.1 私有变量 1.2 私有方法 2. Final 3. Static Android单元测试系列(3)-Mock之Mockito_Chris_166的博客-CSDN博客 Android单元测试系列(1)-开篇_Chris_166的博客-CSDN博客 这两篇中已经分别介绍过Mockito的使用和局限性,本篇将介绍P

    2023年04月08日
    浏览(25)
  • Android 单元测试只看这一篇就够了

    目录 单元测试的目的以及测试内容 本地测试 1. 添加依赖,google官方推荐: 2. 单元测试代码存储位置: 3. 创建测试类: 4. 运行测试用例: 5. 通过模拟框架模拟依赖,隔离依赖: 仪器化测试 配置: 例子: 常用单元测试开源库 1. Mocktio 2. powermock 3. Robolectric 实践经验 1. 代码中用到了

    2024年02月03日
    浏览(41)
  • 【Android】JUnit和Espresso单元测试新手快速入门

    引入依赖 Java代码测试 点击被Test标注的方法,左侧的运行按钮,就可以执行测试任务 AndroidUI测试 点击被Test标注的方法,左侧的运行按钮,就可以执行测试任务 查看测试报告 测试任务执行完毕,会在app/build/reports目录下生成测试报告 报告会统计所有测试任务的执行结果,已

    2024年02月11日
    浏览(28)
  • 安卓高级工程师面试题,Android 仪器化单元测试(1),ndk开发入门

    配置 build.gradle 依赖 dependencies { androidTestImplementation ‘androidx.test🏃1.4.0’ androidTestImplementation ‘androidx.test:rules:1.4.0’ } android { defaultConfig { testInstrumentationRunner “androidx.test.runner.AndroidJUnitRunner” } } 测试样例 测试代码 本例子参考 google 官方网站。因为官网里面很多类没有给到

    2024年04月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包