《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
集成测试中的Mock

Mock的最佳实践

测试数据库


浙公网安备 33010602011771号