单元测试里的怎么用mock函数替换被测试函数里调用的函数?

💡 原文中文,约900字,阅读约需3分钟。
📝

内容提要

在测试utils模块的generate_id函数时,需使用mock替代random模块的random_odd_int函数,以确保每次返回固定值。可以在测试前设置mock,使generate_id调用mock而非真实函数。

🎯

关键要点

  • 在utils模块的generate_id函数中调用random模块的random_odd_int生成ID。
  • 需要测试generate_id函数的正确性,而random_odd_int函数已有专门的测试方法。
  • 测试时需使用mock替代random_odd_int,以确保返回固定值。
  • 尝试使用mockall库,但未成功,因为mock设置在测试方法内调用时才有效。
  • generate_id函数调用的random_odd_int仍然是原始模块中的方法。
➡️

继续阅读