用途:为 Kotlin 项目提供测试相关的知识支持,涵盖 JUnit 5、MockK、Kotest 与协程测试,帮助编写单元测试与 UI 测试。
主要能力:
- MockK 打桩与验证:使用 mockk() 创建 mock,every { ... } returns 定义返回值,verify(exactly = 1) { ... } 校验调用次数;示例中对 UserRepository 打桩并断言 service.create 返回的用户 id。
- 协程测试:使用 runTest,配合 coEvery 对挂起函数打桩,通过 viewModel.state.test { ... } 收集状态流,并用 awaitItem() 与 advanceUntilIdle() 断言加载与最终状态。
- Compose 测试:使用 composeTestRule.setContent 设置内容,onNodeWithTag 定位节点,performTextInput 输入文本,assertIsEnabled 断言按钮可用状态。
- 故障排查:针对“no answer found”建议补充 every { } returns;针对测试挂起建议注入 TestDispatcher 并使用 advanceUntilIdle()。
使用方式:通过 Skill("kotlin-testing") 调用该技能。实际测试依赖 JUnit 5、MockK、Kotest、协程测试与 Compose 测试相关库,具体版本与配置资料未提供。
适用场景:Kotlin 后端或 Android 项目中的单元测试、ViewModel 状态流测试与 Compose 界面交互测试。
限制:资料未说明安装、依赖坐标、版本兼容性、许可与收费信息;示例仅作示意,实际项目需按自身结构适配。