测试时用赝品(mock、stub等)替换真实对象。

fudge-je的Python项目详细描述


完整的文档可在http://farmdev.com/projects/fudge/

fudge是一个python模块,用于使用假对象(mock和stub)来测试真实对象。

在可读的python代码中,声明哪些方法可用于您的伪和 如何称呼他们。然后将其注入应用程序并启动 测试。这种声明性的方法意味着您不必录制和回放 在运行代码之后,您不必检查您的赝品。如果是假的 对象的使用不正确,则您将看到一条信息丰富的异常消息 带着指向罪犯的痕迹。

下面是如何测试发送的代码的快速预览 不实际发送电子邮件的电子邮件:

@fudge.patch('smtplib.SMTP')
def test_mailer(FakeSMTP):
    # Declare how the SMTP class should be used:
    (FakeSMTP.expects_call()
             .expects('connect')
             .expects('sendmail').with_arg_count(3))
    # Run production code:
    send_mail()
    # ...expectations are verified automatically at the end of the test

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

推荐PyPI第三方库


热门话题
由于外键约束,java数据库插入失败   java在对失败的测试用例截图时出错,并且它没有附加到扩展报告中   java FragmentPagerAdapter总是从第一页开始   java内存泄漏,当我将数据从一个树存储库复制到另一个ext js 4.1时   java确保带有特定注释的字段是“私有的”   Java如何将UTC毫秒转换为UTC日期   开源Java:Solaris上的AWT   java为什么BufferedReader只读取第一行?   执行数据库查询时,java JTable不会刷新   java 7中的下划线和二进制文字。!!!??   java使用STaX将xml转换为另一个xml需要很多时间   hadoop如何使用JavaAPI从hbase中的表中选择特定列   使用JLabel的java拖放   用于“绘制”pdf文件的pdf生成Java库   java getResourceAsStream返回null?   java在目标帧中打开窗口   滚动对象时,java鼠标光标不会改变   java有人能解释二进制搜索树中的递归delete()并帮我转换它吗