在单元测试期间,可以用“假”对象无缝替换“真”对象

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”)

更多细节。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将jaxb插件扩展与gradlejaxbplugin一起使用   java Hibernate列表<Object[]>到特定对象   java使用多态性显示arraylist的输出   java水平堆叠卡,带有一定偏移量   java错误:找不到符号方法liesInt()   java客户机/服务器文件收发中的多线程流管理   在java中可以基于访问重载方法吗?   包含空元素的java排序数组   swing Java按钮/网格布局   java BottomNavigationView getmaxitemcount   java空指针异常字符串生成器   java Xamarin升级导致“类文件版本错误52.0,应为50.0”错误   java我正在尝试打印它,而不只是对每一行进行println   Tomcat7中的java是否需要复制上下文。将xml转换为conf/Catalina/locahost以使其生效   带有注入服务的java REST端点在何处引发自定义WebServiceException?   在Java中使用GPS数据   java如何将JFreeChart ChartPanel导出到包含添加的CrosshairOverlay的图像对象?   内置Eclipse期间的Java 8堆栈溢出   java在GWT编译的JavaScript中如何表示BigDecimal