《Spring Boot 入门》17.1 单元测试
单元测试是测试金字塔的底座,也是唯一不需要启动 Spring 容器的测试。本节讲清 JUnit 5 的核心注解与断言,重点演示 Mockito 的 @Mock、when、verify 与 ArgumentCaptor,并说明 4.x 下用 @ExtendWith(MockitoExtension.class) 集成 Mockito 的正确方式,最后为图书服务写出一组单元测试。
tag
单元测试是测试金字塔的底座,也是唯一不需要启动 Spring 容器的测试。本节讲清 JUnit 5 的核心注解与断言,重点演示 Mockito 的 @Mock、when、verify 与 ArgumentCaptor,并说明 4.x 下用 @ExtendWith(MockitoExtension.class) 集成 Mockito 的正确方式,最后为图书服务写出一组单元测试。
围绕 SPM 与工程模块化落地,讲清 Package.swift 清单与依赖声明、本地包与远程包的取舍、二进制目标与 XCFramework、模块边界与访问控制、条件编译与平台适配、多包工作区与构建缓存,并给出 Swift 6 语言模式的分批迁移路径与常见踩坑清单。
面向 SwiftUI 时代的状态架构选型,对比 MVVM 与 The Composable Architecture 两套方案,讲清 SwiftUI 下的绑定与副作用处理、单向数据流的必要性、TCA 的 State/Action/Reducer/Store 构件与作用域组合、依赖注入与环境、副作用的可测试性,并给出分层与模块边界的落地建议。
本文讲清鸿蒙工程的依赖与测试体系:ohpm 仓库与命令行用法、oh-package.json5 字段与版本约束语法、HAR 与 HSP 两种包形态的差异与选型、私仓与 ohpmrc 配置、Hypium 单元测试用例与断言写法、UI 测试、覆盖率统计与 DevEco 运行配置。
NullRHI 是 helio 的第三个后端:它不接触 GPU,把每一次 RHI 调用按顺序记进日志。于是渲染代码的调用序列变成可在 Node 里断言的纯数据,单测与 CI 不需要显卡、也不会因驱动差异而抖动。本节用同一段渲染代码分别跑 WebGPU 与 NullRHI,断言后者产出的调用日志。
本文构建一套可落地的 iOS 质量体系:从 XCTest 单元测试、XCUITest 界面测试、async 与 actor 并发测试,到依赖注入、协议 mock 与测试替身(stub/spy/fake);覆盖测试金字塔与覆盖率策略、快照测试、Xcode 16 引入的 Swift Testing 新框架;再串起 Fastlane(scan/gym/match/pilot)、Xcode Cloud 与 GitHub Actions 自托管 runner、TestFlight 灰度分发、CI 证书与签名管理、构建缓存加速,并给出常见 CI 坑清单与取舍结论。
Go 测试与基准工程实践:表驱动测试、子测试与辅助函数、Mock 与测试替身、Fuzz 模糊测试、基准测试与 pprof 分析、覆盖率与 CI 集成,构建从单元到性能的质量闭环。
本节给 TaskAPI 的标题校验与内存存储补上第一批测试:从 Go 测试的三个约定讲起,搭出表驱动测试的骨架,用 t.Run 组织子测试,讲清 t.Error 与 t.Fatal 的取舍、t.Helper 如何修好报错行号,再用实测覆盖 MemStore 的命中与未命中两条路径,最后给出 go test 常用参数表。
系统覆盖 Vite 生态的测试方案:Vitest 单元测试(断言/参数化/快照)、组件测试(Vue/React Testing Library)、E2E 测试(Playwright)、Mock 与覆盖率、CI 集成,以及 Vite 插件兼容性。
系统覆盖 TypeScript 项目的完整测试策略:Vitest 与测试框架选型、类型测试(expect-type/tsd)与编译期断言、单元测试最佳实践、测试替身(mock/stub/spy)、测试数据与工厂模式、覆盖率与 CI 集成、以及类型驱动的测试设计。
系统覆盖 Scala 测试体系:ScalaTest 风格矩阵、MUnit 轻量替代、Mockito 模拟、ScalaCheck 属性测试、异步代码与 Akka Actor 测试、覆盖率与 CI 集成,一套测试金字塔从单元到集成。
系统对比三大主流单元测试框架 pytest、JUnit 5、Go testing 的深度特性,涵盖 FIRST 原则、AAA 模式、Mock 策略、Table-Driven Tests、Benchmark,以及单元测试粒度、可测性设计和常见反模式。
本节从零为 TypeScript 项目搭起单元测试:先比较 Vitest 与 Jest 的取舍,再手写第一个 describe/it/expect 用例,讲清测试代码本身同样受 tsc 检查、mock 如何保持类型安全、异步与假定时器该怎么测。随后给出两者的 API 对照表,并总结 globals 类型缺失、vi.mock 提升等常见报错,读完你能为真实工程补上一套可维护的测试。
从 unittest 的写法对比切入 pytest:讲清 test_ 前缀的自动发现规则、assert 断言重写为何能给出逐元素 diff、pytest.raises 与 match、pytest.approx 浮点比较、skip/skipif/xfail 三种标记,以及 src 布局、pyproject 配置与 -v/-k/-x/--lf 常用开关。
系统讲解Go语言测试技术,涵盖单元测试、基准测试、并发测试、Mock测试和模糊测试等内容,帮助开发者建立可靠的代码质量保障体系
很多初学者一听到”单元测试”,就想到 mock 框架。其实 Go 里最常用、最舒服的测试替身,往往只是一个小结构体。你定义一个刚好够用的小接口,测试里手写 fake 或 spy,就能验证业务逻辑,而不用真的发邮件、调支付或连外部 API。