我有 gRPC 服务(比如 svc1),它使用它的 gRPC 存根(比如 svc2_client)调用另一个 gRPC 服务。
我已经为 svc2_client 生成了客户端模拟。根据文档进行的单元测试工作正常,即使用生成的模拟测试 svc2_client。
但是,我有 svc1,如下所示:
// Synonymous to proto service generated.
type Svc1 struct {
rt svc2pb.Svc2Client
}
// Constructor to get Service.
func NewSvc1(rt svc2pb.Svc2Client) *Svc1 {
return &Svc1{rt}
}
...
...
预期行为:
期待它成功
重现行为的重现
步骤:
返回错误:
=== RUN TestMethod1Svc1
TestMethod1Svc1: svc1.go:40: Unexpected call to *mock_svc2client.MockSvc2Client.Method1([context.Background.WithDeadline(2020-06-22 10:14:25.620736 +0530 IST m=+3.002262784 [2.999757626s]) key1:"1" } ]) at ...server/mocks/svc2client_mock.go:65 because: there are no expected calls of the method "Method1" for that receiver
--- FAIL: TestMethod1Svc1 (0.00s)
围棋新手,你能帮我吗?
附加信息:
- gomock 模式(来源):来源
- gomock 版本或 git 参考:github.com/golang/mock v1.4.3
- golang 版本:go 版本 go1.14 darwin/amd64