测试 - 单元测试(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"
}
相关推荐
雨白34 分钟前
C语言基础快速入门与指针初探
android
Exploring2 小时前
避坑指南:升级 AGP 8.0+ 导致第三方 SDK 编译崩溃的完美解决方案
android
石山岭21 小时前
自己动手写了一个 Android 虚拟定位 App:GPSSimulate 技术实
android·前端
杉氧1 天前
副作用 (Side Effects) 全攻略:如何像大师一样掌控 Composable 的生命周期?
android·架构·android jetpack
Kapaseker1 天前
Kotlin Toolchain 0.11 发布:主要是把 Amper 干没了
android·kotlin
三少爷的鞋1 天前
Android 现代架构不需要事件总线进阶篇
android
杉氧2 天前
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
android·架构·android jetpack
召钱熏2 天前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
杉氧2 天前
深度解析:Jetpack Compose 核心架构与底层原理 —— 十年安卓老兵的“破茧重生”
android·架构·android jetpack
通玄2 天前
Jetpack Compose 入门系列(七):ViewModel 与界面状态管理
android