2010-07-01 45 views
8

我有一个python程序,它带有一个全局函数,它很难测试(它需要一个大的数据集才能正常工作)。 在测试调用它的函数时如何解决此问题的最佳方法是什么?如何在python中模拟一个自由函数?

我发现下面的作品(但它让我觉得很脏,使用它)。

模块富:

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

模块测试

import foo 

def BlissLiesHere(): 
    return 5 

foo.PainLiesHere = BlissLiesHere 

# test stuff 

回答

8

这是一个完全没有办法做到这一点。只要你知道,BlissLiesHere不会改变你正在测试设备的整体行为......

编辑:

这是正在做什么,在所有他们所提供的不错的演员,通过不同种类嘲讽图书馆,如MockMox

相关问题