gpt4 book ai didi

python - 使用 Python 沙盒化 Web 服务

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:26 24 4
gpt4 key购买 nike

我正在为具有多个相互依赖的服务的 Web 应用程序构建集成测试。它们都依赖共享资源才能正常运行。我想确保系统中的数据在实时时是健全的,所以我正在利用实时服务。我正在使用 Python 来构建它,这是我对如何对服务进行沙箱化的想法:

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

这看起来理智吗?其他想法包括将每个服务作为一个进程运行,或者让每个服务都有自己的 python virtualenv 来运行。

最佳答案

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

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

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

关于python - 使用 Python 沙盒化 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3522584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com