如何为 grpc 单元测试创​​建模拟上下文 (python)

How do I create a mock context for grpc unit testing (python)

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

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

您可以使用神奇的模拟库 unittest.mock. And mock over the client RPC multicallable object grpc.UnaryUnaryMultiCallable (see ref),因此它 returns 您的响应和上下文。该对象由我们的 ProtoBuf 插件生成,位于 foo_pb2_grpc.py 文件中。