测试 - 单元测试(JUnit)

JUnit 官网

Mockito 官网

一、概念

1.1 注解

|------------------------|--------------------------------------|
| @Test | 标记一个函数为测试方法。 |
| @BeforeEach、@AfterEach | 在每个测试方法 前/后 执行,用于 准备/清理 运行环境。 |
| @BeforeAll、@AfterAll | 在所有测试 前/后 执行(必须是静态方法),用于 执行/释放 耗时操作。 |
| @Disabled | 禁用 / 忽略 / 不执行该方法。 |
| @DisplayName | 对 类/方法 取别名。 |

1.2 断言方法

|--------------------------------------------------------------------------------------------------------------------------------------------------------|------|
| assertEquals(expected, actual) 值 assertSame(expected, actual) 对象 assertNotSame(unexpected, actual) 对象 assertArrayEquals(expectedArray, actualArray) 数组 | 相等 |
| assertTrue(condition) assertFalse(condition) | 布尔 |
| assertNull(object) assertNotNull(object) | null |

二、使用

2.1 添加依赖

Mockito-Kotlin 最新版本

Kotlin 复制代码
dependencies {
  // Required -- JUnit 4 framework
  testImplementation "junit:junit:$jUnitVersion"
  // Optional -- Robolectric environment
  testImplementation "androidx.test:core:$androidXTestVersion"
  // Optional -- Mockito framework
  testImplementation "org.mockito:mockito-core:$mockitoVersion"
  // Optional -- mockito-kotlin
  testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion"
  // Optional -- Mockk framework
  testImplementation "io.mockk:mockk:$mockkVersion"
}
相关推荐
重生之我是Java开发战士3 小时前
【MySQL】事务 & 用户与权限管理
android·数据库·mysql
中冕—霍格沃兹软件开发测试3 小时前
区块链交易最终一致性测试的核心挑战与实践框架
微服务·架构·单元测试·区块链·集成测试·旅游
怣疯knight5 小时前
Windows不安装 Android Studio如何打包安卓软件
android·windows·android studio
ke_csdn5 小时前
从Java演变到Kotlin下的jet pack
android
wenzhangli76 小时前
在低代码设计中践行 Harness Engineering
android·低代码·rxjava
lohiecan6 小时前
国产自研开源新语言|梦丘 MOS-LANG 重磅登场!深耕 AI 编程与嵌入式生态
人工智能·junit
xingpanvip7 小时前
星盘接口开发文档:组合三限盘接口指南
android·开发语言·前端·python·php·lua
TechMix7 小时前
【fkw学习笔记】Android 13 AOSP 源码添加系统预置应用实战指南
android·笔记·学习
云起SAAS7 小时前
私域直播系统UniApp源码 多商户商城+直播带货 微信小程序+H5+安卓iOS
android·微信小程序·uni-app·私域直播系统
测试员周周7 小时前
【AI测试系统】第5篇:AI 编码工具抛硬币?我们用 LangGraph 做了个“确定性+AI”的测试系统(附自愈架构)
人工智能·python·功能测试·测试工具·架构·langchain·单元测试