在正常的 grpc 通信中,grpc 会自动创建一个上下文来处理请求。如何创建一个模拟上下文以通过我的单元测试调用传递,以便我的服务函数有一个要操作的对象?
目前,如果代码接收到 NoneType 作为上下文,我会跳过上下文调用,但这不是一个好的解决方案。
在正常的 grpc 通信中,grpc 会自动创建一个上下文来处理请求。如何创建一个模拟上下文以通过我的单元测试调用传递,以便我的服务函数有一个要操作的对象?
目前,如果代码接收到 NoneType 作为上下文,我会跳过上下文调用,但这不是一个好的解决方案。
您可以使用魔术模拟库unittest.mock。并模拟客户端 RPC 可多次调用对象grpc.UnaryUnaryMultiCallable
(请参阅ref),因此它返回您的响应和上下文。该对象由我们的 ProtoBuf 插件生成,位于foo_pb2_grpc.py
文件中。