У меня есть служба gRPC (скажем, svc1), которая вызывает другую службу gRPC, используя ее заглушку gRPC (скажем, svc2_client).
Я создал макет клиента для 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 mode (источник): источник
- версия gomock или git ref: github.com/golang/mock v1.4.3
- версия golang: версия go1.14 darwin / amd64