我有一个带有全局函数的python程序,该程序很难测试(它需要一个大数据集才能正常工作)。测试调用此函数的最佳方法是什么?

我发现以下作品有效(但是使用它使我感到肮脏)。

模块foo:

def PainLiesHere():
  return 4; #guaranteed to be random

模块测试
import foo

def BlissLiesHere():
  return 5

foo.PainLiesHere = BlissLiesHere

# test stuff

最佳答案

这是一种完美的方法。只要您知道BlissLiesHere不会改变您正在测试的单元的整体行为...

编辑:

在它们提供的所有出色功能的帮助下,这是通过不同类型的模拟库(例如MockMox等)完成的。

09-25 19:38