安慰剂是在python应用程序中模拟外部api的工具。
python-placebo的Python项目详细描述
安慰剂是一个实用程序,它可以帮助以可重用和可组合的方式模拟api端点。
要首先使用安慰剂,我们应该为我们的模拟创建一个安慰剂类。安慰剂类表示对特定请求的响应。如果任何请求的url和http方法与mock匹配,则返回安慰剂类中描述的响应。我们可以创建这样的安慰剂模拟:
from placebo import Placebo class UsersResponse(Placebo): url = 'http://www.acme.com/api/v1/users/' body = json.dumps([{'name': 'Huseyin', 'last_name': 'Yilmaz'}])
安慰剂对象的主接口是decorator。任何用安慰剂类修饰的函数都将被安慰剂类嘲笑。
@UserResponse.decorate def users_api_test(self): ...
你可以用这个装饰器装饰任何函数或方法。即使是Django的观点!这使得针对外部api的开发非常容易。
@UserResponse.decorate def users_list_view(request): ...
如果您的代码使用多个api端点,那么您可以很容易地将安慰剂装饰器堆叠在彼此之上。
@AuthResponse.decorate @UserResponse.decorate def test_valid_get_user(request): ... @AuthResponse.decorate(status=401) @UserResponse.decorate def test_cannot_authenticate(request): ... @AuthResponse.decorate @UserResponse.decorate(status=503) def test_api_is_not_available(request): ...
有关详细信息,请参阅documentation