go中如何写单元测试
2021-11-26 本文已影响0人
leeliang
通过实际项目中的单测编写,总结如下几点,帮助我更好的完成单元测试
- 首先代码应该进行分层,对每一层分别用单元测试,这样子的好处是我们的单测不用写的大而全,可以针对每一层编写更有针对性的单元测试,并且单测的代码也更易读,更好维护
- 建议使用表格驱动法进行单元测试的编写。好处是可以在一个for循环中测试很多的case。但是要注意mock之间的隔离
- gomock工具用于进行接口的mock,gostub用于函数、全局变量等的打桩(注:gostub只能对于函数变量打桩)
- 好的单测应该更加贴近与黑盒测试,既给定输入,验证输出。但是在编写过程中,往往达不到,因为代码对于外部有依赖。