《unit tesing》读书笔记
封面
本书示例代码均是C#
代码覆盖率
分支覆盖率
单元测试的定义
单元测试的两大派系
参考:https://www.thesunshinelayer.com/p/detroit-vs-london-schools-of-unit
3A模式
Given-When-Then 模式
.NET下的单元测试框架(推荐xUnit或NUnit)
不推荐MSTest,微软自己人都不用 😃
使用Assertion 库,可读性更高
什么是好的单元测试?
理想的单元测试不存在定理(类似CAP理论)
只能在“防止回归” 和 “快速反馈” 之间进行权衡
根据测试金字塔
不同类型的测试,侧重点也不同。
比如,对于端到端测试,我们可以接受速度慢点,但要尽可能的要“防止回归”
黑盒测试 vs 白盒测试
Test Double
Mock vs Stub
hexagonal architecture
三种测试风格
output-based style(函数式)
state-based style (影响到被测试类的状态 或者 协同测试类的状态,甚至外部依赖的状态,比如数据库,文件系统等)
communication-based style
项目中四种类型代码
Trivial code shouldn’t be tested at all
As for controllers, you should test them briefly
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?