跳转到主要内容

Python测试双倍平台(模拟、存根和假体)

项目描述

欢迎来到ludibrio

http://ludibriar.appspot.com/_static/img/logo.png
作者:
贡献者:

安装

Ludibrio已在PyPi注册。如果您有pip、setuptools或Distribute,可以使用以下命令安装mock:

$ sudo easy_install ludibrio

下载

最新官方版本是3.0.2。以下是获取它的方法:

http://pypi.python.org/pypi/ludibrio/3.0.2

文档

请参阅http://ludibriar.appspot.com/以获取当前文档。

参与其中!

Ludibrio的开发可以在github上查看和跟踪。

http://github.com/nsigustavo/ludibrio

使用‘git’检索源代码

$ git clone git://github.com/nsigustavo/ludibrio.git

以“开发模式”安装包并使用doctest命令运行测试

$ sudo easy_install doctestcommand
$ git clone git://github.com/nsigustavo/ludibrio.git
$ cd ludibrio
$ sudo python setup.py develop
$ cd ludibrio
$ doctest

简而言之

测试双倍是模拟真实对象行为的假对象,用于测试目的。

模拟

模拟是预先编程了期望的对象,这些期望构成了它们预期接收的调用规范。

>>> from ludibrio import Mock
>>> with Mock() as MySQLdb:
...     con = MySQLdb.connect('server', 'user', 'XXXX')
...     con.select_db('DB') >> None
...     cursor = con.cursor()
...     cursor.execute('select * from numbers') >> None
...     cursor.fetchall() >> [1,2,3,4,5]
>>> con = MySQLdb.connect('server', 'user', 'XXXX')
>>> con.select_db('DB')
>>> cursor = con.cursor()
>>> cursor.execute('select * from numbers')
>>> cursor.fetchall()
[1, 2, 3, 4, 5]

>>> MySQLdb.validate() #passed

存根

存根为测试期间的方法调用提供预定义的答案。

>>> from ludibrio import Stub
>>> with Stub() as x:
...     x.anything() >> 'response'
>>> x.anything()
'response'

为任何外部模块进行简单模拟或存根

Ludibrio 还提供了一种替换模式,这意味着如果将一个 “from … import …” 语句定义到 ‘with’ 范围内,重放机制将返回一个模拟对象来替换整个 Python 解释器(包括任何模块等)命名空间中的原始对象。下面有一个简单示例来说明如何使用它。

>>> from ludibrio import Stub

>>> with Stub() as time:
...     from time import time
...     time() >> 171
>>> from time import time
>>> time()
171

代理

Ludibrio 两个在其它模拟系统中找不到的强大功能是代理现有对象,或者修补真实实例或类。

当一个对象被代理时,Ludibrio 创建一个包含对真实对象引用的测试替身对象,允许表达式直接通过它(无论是否被模拟,默认或按请求)。

>>> from os.path import splitext
>>> with Stub(proxy=splitext) as splitext:
...     splitext('ludibrio/stubed.py') >> ('/temp/temp','.temp')
>>> splitext('mock.py')
('mock', '.py')
>>> splitext('ludibrio/stubed.py')
('/temp/temp', '.temp')

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分布

ludibrio-3.1.0.tar.gz (6.0 kB 查看哈希值)

上传时间

由以下支持