首页 > 解决方案 > 如何为 grpc 单元测试(python)创建模拟上下文

问题描述

在正常的 grpc 通信中,grpc 会自动创建一个上下文来处理请求。如何创建一个模拟上下文以通过我的单元测试调用传递,以便我的服务函数有一个要操作的对象?

目前,如果代码接收到 NoneType 作为上下文,我会跳过上下文调用,但这不是一个好的解决方案。

标签: python-3.xpytestgrpc-pythonpytest-mock

解决方案


您可以使用魔术模拟库unittest.mock。并模拟客户端 RPC 可多次调用对象grpc.UnaryUnaryMultiCallable(请参阅ref),因此它返回您的响应和上下文。该对象由我们的 ProtoBuf 插件生成,位于foo_pb2_grpc.py文件中。


推荐阅读