《xUnit Test Patterns》学习笔记7(完) - 总结

总体来说,这本书是不错的。后面的第二部分和第三部分,主要针对Test Smells和Test Patterns进行了更加具体的描述,主要的内容和第一部分还是基本一致的。因此,我主要的精力都花在了第一部分,对于后面的第二部分和第三部分,我是跳着看完的。后面的内容当作字典来查询会比较好,因为写的比较详细。

其中有一个观点我觉得是比较新颖的,如果你分不清现在做的测试是不是属于单元测试,就请参照一下下面的吧:

A test is not a unit test if:

  1. It talks to the database.
  2. It communicates across the network.
  3. It touches the file system.
  4. It can’t run correctly at the same time as any of your other unit tests.
  5. You have to do special things to your environment (such as editing config files) to run it.

在讲到代码的可测性设计时,作者提出主要从以下几个方面来提高可测性:

Dependency Injection

依赖注入,代码设计中并不依赖于具体的实现,并且运行将特定的实现注入到系统中。注入主要有三种方式:

  1. Parameter Injection
  2. Constructor Injection
  3. Setter Injection

Dependency Lookup

依赖查找,运行时动态查找到所依赖的具体对象。

Humble Object

这个名称很抽象,我的理解是在代码中提供一些接口出来,方面测试。

Test Hook

在代码中加入一些测试逻辑,比如,如果是测试模块,就怎么怎么样。不过,我想这种方式应该是不值得推荐的。

最后,很欣慰在春节前把这本书看完了,可以说收获还是蛮大的。以后遇到什么问题,可以拿这本书当资料来查。xUnit Test Patterns的官方地址如下:

http://xunitpatterns.com/

可以在这个地址查询到每个测试模式和相关的名称解释。 

posted @   CoderZh  阅读(3092)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示