用于测试的假服务器
pretenders的Python项目详细描述
伪装者简介
^ {tt1}项目为外部网络创建灵活假货 服务。这些外部服务可以通过设置预先设置好的答案来伪造, 定义期望值,或者只在[测试]之后对接收到的数据进行查询 执行。
它们是按照记录/回放/验证的模式松散地设计的。
python兼容性
假装者的服务器端是用python3编写的:
- 因为我们坚信所有新项目都应该使用python3,除非 有很多令人信服的理由反对它。
- 因为这些服务器将作为独立服务器运行,所以兼容性 不是这样的问题
在我们实现客户机的情况下,我们将在 python 3.x和python 2.6/2.7。
提供模拟服务器
假装程序目前支持模拟http和smtp服务器。
我们正在考虑支持的未来服务包括amqp和ssh。
这些代表了我们的软件 写作与互动。
一些用例示例包括:
- 模块集成中的线级模拟外部基于http的api 测试
- 促进前端ajax代码的手动测试和调试 后端尚未开发
- 为任何发送电子邮件的系统编写全自动测试,以及 我们希望在其中轻松验证传出的邮件
假装者提供了一个统一的restful api来验证 我们的代码与外部服务无关,与服务协议无关。
假装者.client.http-http服务器
典型的用法是模拟外部服务的restful/soap api。
这通常需要使用响应对服务进行预编程, 稍后再询问服务部收到的请求。这是可以做到的 通过专业的断言/匹配者,或通过设定期望和 验证这些期望的实现。
预编程步骤可以通过使用特定的专有http来完成 头,或者使用用于模拟的另一个http端口。
例如用法请参见documentation。
实现基于bottleweb微框架。
我们的目标之一是有线协议足够简单 不需要任何专业客户。也就是说,我们将提供客户 库(python中至少有一个库)以简化与服务器的交互, 并提供一个舒适的api用于测试。
Docker
你可以从官方的docker图片中运行伪装程序:
docker run -d --name pretenders -p <desired_port>:8000 pretenders/pretenders:1.4
获得帮助
关于伪装者的使用、发展和未来的讨论,请 加入pretenders邮件列表。
贡献
假装者欢迎任何形式的贡献-无论是拉请求,添加 通过github发布或反馈,或在pretenders上发送消息 邮件列表,所以不要害羞!
我们有以下分支约定:
- master: This should look exactly like the latest release.
- develop: This is where ongoing work lands, only being merged into master at release point.
为了做出贡献,在github中分叉回购,并从development分支 分支。在主回购协议中创建您的减贫战略。
运行测试
build.sh运行全套测试,并生成sphinx文档 检查PEP8错误。