允许python测试轻松模拟recurly库的库
mocurl的Python项目详细描述
概述
mocurly充当recurly客户机的模拟后端,允许您 按原样使用递归python客户端。这意味着你所有的代码 使用recurly python客户端和目标recurly对象都可以工作 如你所料。最重要的是:您可以使用recurly python客户机 设置测试环境!
例如,假设你的应用程序中有一个简单的函数 所有用户重复,并计数:
importrecurlyrecurly.API_KEY='foo'recurly.SUBDOMAIN='bar'defcount_recurly_accounts():returnlen(recurly.Account.all())
使用mocurly,您可以像这样测试上述代码:
importrecurlyrecurly.API_KEY='foo'recurly.SUBDOMAIN='bar'frommocurlyimportmocurlyfromcount_moduleimportcount_recurly_accounts@mocurlydeftest_count_recurly_accounts():foriinrange(10):recurly.Account(account_code=str(i)).save()assertcount_recurly_accounts()==10
在decorator上下文中,对recurly的所有调用都被 mocurly,在 上下文。没有实际的网络调用,允许您重新测试 代码不必担心现有的上下文或Internet连接。
用法
您可以将mocurly用作装饰器、上下文管理器或手动使用。
装潢师
@mocurlydeftest_count_recurly_accounts():foriinrange(10):recurly.Account(account_code=str(i)).save()assertcount_recurly_accounts()==10
上下文管理器
deftest_count_recurly_accounts():withmocurly():foriinrange(10):recurly.Account(account_code=str(i)).save()assertcount_recurly_accounts()==10
手动
deftest_count_recurly_accounts():mocurly_=mocurly()mocurly_.start()foriinrange(10):recurly.Account(account_code=str(i)).save()assertcount_recurly_accounts()==10mocurly_.stop()
安装
$ pip install mocurly