在单元测试期间,可以用“假”对象无缝替换“真”对象
fakeable的Python项目详细描述
fakeable
作者:denver coneybeare<;denver@sleepydragon.org>;
2013年8月12日
fakeable是一个python库,它提供了一个在单元测试期间用假版本替换对象的工具。fakeable的主要优点是,从生产代码的角度来看,除了声明一个特定的元类以选择加入faked之外,不需要做任何事情。然后,在测试期间,测试指定使用一个特定类的伪版本,然后在运行时“神奇地”使用一个伪版本。
读取
文本文件的内容并返回:
类文件读取器(对象):
encoding=“utf8”):
contents=f.read()
返回contents
s):
reader=filereader()
contents=reader.read_file(“config.ini”)
found=(contents中的s)
return found
在单元测试期间,可以使用文件读取器类的假版本来代替:
class fake filereader(object):
def read_file(self,路径:
raise ioerror(“找不到文件”)
class test_filereader(unittest.testcase):
def test_file_contains(self):
fakeable.set_class(“filereader”,fakefilereader)
with self.assertraises(ioerror):
file_contains(“blah_blah”,“hey ho”)
更多细节。
作者:denver coneybeare<;denver@sleepydragon.org>;
2013年8月12日
fakeable是一个python库,它提供了一个在单元测试期间用假版本替换对象的工具。fakeable的主要优点是,从生产代码的角度来看,除了声明一个特定的元类以选择加入faked之外,不需要做任何事情。然后,在测试期间,测试指定使用一个特定类的伪版本,然后在运行时“神奇地”使用一个伪版本。
读取
文本文件的内容并返回:
类文件读取器(对象):
encoding=“utf8”):
contents=f.read()
返回contents
s):
reader=filereader()
contents=reader.read_file(“config.ini”)
found=(contents中的s)
return found
在单元测试期间,可以使用文件读取器类的假版本来代替:
class fake filereader(object):
def read_file(self,路径:
raise ioerror(“找不到文件”)
class test_filereader(unittest.testcase):
def test_file_contains(self):
fakeable.set_class(“filereader”,fakefilereader)
with self.assertraises(ioerror):
file_contains(“blah_blah”,“hey ho”)
更多细节。