我需要为一个函数编写一个单元测试,该函数在其源代码中调用不同 gRPC 服务的 gRPC 方法。我的测试结果出现严重错误,因为 gRPC 服务未在我的计算机上运行。我想在测试中创建一个虚拟服务,并且该服务必须为源代码内的方法调用提供服务。我怎么做?
编辑:详细信息源函数:
func (s *mainType) MainGenerateBearerToken(inputs...)(output) {
response, err := s.Subtype.SubGenerateBearerToken(context, authnPass, ttl)
if err != nil {
return nil, err
}
return &models.OCITokenResponse{Token: response.Token, ExpiresIn: ttl}, nil
}
func(cl *Subtype) SubGenerateBearerToken(context,authnPass, ttl) (*BearerTokenResponse, error) {
resp,err := pb.NewGrpcClient(cl.Conn).GetBearerToken_grpc(ctx, &pb.GetBearerTokenRequest{AuthnToken, BearerTtlValue:ttlNum)
return &BearerTokenResponse{Token}, err
}
Run Code Online (Sandbox Code Playgroud)
我正在为 MainGenerateBearerToken() 函数编写测试,该函数调用 SubGenerateBearerToken(),其中调用 grpc 方法。
我不小心创建了一个 git 分支,分支名称中包含“()”。创建分支时我没有收到任何错误。但是当我尝试从 master git checkout到分支时,出现以下错误。
-bash: syntax error near unexpected token `('
Run Code Online (Sandbox Code Playgroud)
我尝试使用gitbranch -m和gitbranch -m -f重命名分支,但这两个命令都返回与上面给出的相同的错误。
我该如何解决这种情况?有什么方法可以获取我在该分支中所做的更改吗?
提前致谢