《unit tesing》读书笔记

封面

image

本书示例代码均是C#

代码覆盖率

image

分支覆盖率

image

单元测试的定义

image

单元测试的两大派系

image

参考:https://www.thesunshinelayer.com/p/detroit-vs-london-schools-of-unit

3A模式

image

Given-When-Then 模式

image

.NET下的单元测试框架(推荐xUnit或NUnit)

不推荐MSTest,微软自己人都不用 😃
image

使用Assertion 库,可读性更高

image

什么是好的单元测试?

image

理想的单元测试不存在定理(类似CAP理论)

只能在“防止回归” 和 “快速反馈” 之间进行权衡

image

根据测试金字塔
image

不同类型的测试,侧重点也不同。
比如,对于端到端测试,我们可以接受速度慢点,但要尽可能的要“防止回归”
image

黑盒测试 vs 白盒测试

image

Test Double

image

Mock vs Stub

image

hexagonal architecture

image

三种测试风格

image

output-based style(函数式)
image

state-based style (影响到被测试类的状态 或者 协同测试类的状态,甚至外部依赖的状态,比如数据库,文件系统等)
image

communication-based style
image

项目中四种类型代码

image
Trivial code shouldn’t be tested at all
As for controllers, you should test them briefly

集成测试中的Mock

image

Mock的最佳实践

image

测试数据库

image

posted @ 2024-07-09 11:08  talentzemin  阅读(13)  评论(0编辑  收藏  举报