什么是Mock
当对代码进行测试的时候, 我们经常需要用到一些模拟(mock)技术....所以编写测试代码的时候, 我们需要提供这些依赖. 而针对隔离测试, 并不应该使用生产时用的依赖项, 所以我们使用模拟版本的依赖项, 这些模拟版依赖项只能用于测试时, 它们会使隔离更加容易....这个通常是由团队对系统的理解决定, 可以针对一个类, 也可以针对多个类....在本文里把这三个东西都叫做mock对象吧.
Moq使用一套API来创建stub和mock对象....但是此时, 该接口的实现类还没有开发完毕:
在转会审批类里面, 需要添加这个依赖, 使用的是接口:
在单元测试类里面, 我为转会球员添加了这两个属性, 但是审批类会报错, 因为没有加入依赖项:
所以测试的时候需要注入这个依赖项