go中如何写单元测试

通过实际项目中的单测编写,总结如下几点,帮助我更好的完成单元测试

  1. 首先代码应该进行分层,对每一层分别用单元测试,这样子的好处是我们的单测不用写的大而全,可以针对每一层编写更有针对性的单元测试,并且单测的代码也更易读,更好维护
  2. 建议使用表格驱动法进行单元测试的编写。好处是可以在一个for循环中测试很多的case。但是要注意mock之间的隔离
  3. gomock工具用于进行接口的mock,gostub用于函数、全局变量等的打桩(注:gostub只能对于函数变量打桩)
  4. 好的单测应该更加贴近与黑盒测试,既给定输入,验证输出。但是在编写过程中,往往达不到,因为代码对于外部有依赖。

你可能感兴趣的:(go中如何写单元测试)