用途:为 iOS/tvOS 的 XCTest 测试提供决策框架,而非语法教学。它帮助在测试策略与测试替身设计上做判断,例如选择单元测试、集成测试、UI 测试还是性能测试,以及何时使用 stub、spy 或 mock。
主要能力:给出测试类型选择决策树(纯业务逻辑用单元测试、组件交互用集成测试、用户可见行为用快照或 XCUITest、性能特征用 measure{});mock/stub/spy 的取舍判断;异步测试策略(async/await、XCTestExpectation、Combine 配合 sink);以及常见反模式清单,如测试实现细节、依赖执行顺序、使用 sleep()、mock 产生真实副作用、过度验证、忘记 await 或 fulfill expectation、UI 测试用固定延迟或依赖元素位置。
使用方式:作为技能加载后,在编写或审查 XCTest 时参考其中的决策树与模式。资料包含结构化 mock(stub + spy 计数与验证辅助)、ViewModel 测试的 setUp/tearDown 模式、测试数据 Builder、以及 Combine 的 awaitPublisher 辅助扩展等示例。
适用场景:iOS/tvOS 项目中的测试设计评审、测试金字塔分布参考(单元约 70%、集成约 20%、UI 约 10%)、按层设定覆盖率目标(领域逻辑 90%+、服务/仓库 85%、ViewModel 70–80%、视图不测覆盖率)。
限制:资料未提供安装命令、依赖要求、平台版本或收费信息;内容以判断框架和示例为主,具体 API 行为需以 Apple 官方文档为准。