加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用Python进行沙盒Web服务

发布时间:2020-12-20 13:20:52 所属栏目:Python 来源:网络整理
导读:我正在为具有多个相互依赖服务的Web应用程序构建集成测试.所有这些都依赖于共享资源才能正常运行.我想确保系统中的数据在生存时是理智的,所以我正在利用实时服务.我正在使用 Python来构建它,这是我对如何沙盒服务的想法: 使用多处理的BaseManager构建测试运
我正在为具有多个相互依赖服务的Web应用程序构建集成测试.所有这些都依赖于共享资源才能正常运行.我想确保系统中的数据在生存时是理智的,所以我正在利用实时服务.我正在使用 Python来构建它,这是我对如何沙盒服务的想法:

>使用多处理的BaseManager构建测试运行器
> chroot jail每个服务,运行它们作为后台服务
>让侦听器响应来自服务的传入连接并吐出数据

这看起来很健全吗?其他想法包括将每个服务作为一个进程运行或使每个服务都有自己的python virtualenv来运行.

解决方法

你绝对不想先用实时数据进行测试.为了构建集成测试,您应该首先模拟您的依赖项并使用您控制的I / O集.预期的输入和输出非常重要.在进行集成测试时,构建这些单元测试将极大地帮助您.

至于您的具体问题,您可以使用代理拦截数据或装饰您的调用函数以添加日志记录.有关拦截器的更多信息,请查看面向方面编程(AOP).

如果您使用的是WSGI,则可以编写一个中间件来处理拦截和日志记录.看一下CherryPy的wsgiserver.py模块以获得帮助; Django还使用中间件,他们的文档可能能够帮助中间件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读