我正在尝试对使用导入的外部对象的函数实施单元测试。
例如助手.py is:
import os
import pylons
def some_func(arg):
...
var1 = os.path.exist(...)
var2 = os.path.getmtime(...)
var3 = pylons.request.environ['HTTP_HOST']
...
因此,当我为其创建单元测试时,我会进行一些模拟(在我的例子中是 minimock)
并替换对 pylons.request 和 os.path 的引用:
import helpers
def test_some_func():
helpers.pylons.request = minimock.Mock("pylons.request")
helpers.pylons.request.environ = { 'HTTP_HOST': "localhost" }
helpers.os.path = minimock.Mock(....)
...
some_func(...)
# assert
...
这对我来说看起来不太好。
有没有其他更好的方法或策略来替代Python中导入的函数/对象?
使用 voidspace 的模拟库及其修补/包装功能。
http://www.voidspace.org.uk/python/mock/patch.html http://www.voidspace.org.uk/python/mock/patch.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)