单元测试一般不允许有任何外部依赖(文件依赖/网络依赖/数据库依赖等),不会(or不能)在测试代码中去真正 连接数据库/调用api等。这些外部依赖在执行测试时需被模拟(mock/stub)。在测试时,使用模拟的对象来模拟真实依赖下的各种行为。如何运用mock/stub来模拟系统真实行为,算是单元测试道路上的一只拦路虎
Mock(模拟)和Stub(桩)是在测试过程中,模拟外部依赖行为的两种常用的技术手段。 通过Mock和Stub我们不仅可以让测试环境没有外部依赖,而且还可以模拟一些异常行为,如数据库服务不可用,没有文件的访问权限等等。
–搞定Go单元测试(一)——基础原理 之利用mock/stub 技术破除外部依赖
单元测试中只是针对单个函数的测试,关注其内部的逻辑,对于网络/数据库访问等,需要通过相应的手段进行 mock