小编Sru*_* CP的帖子

如何使用 Go 中的方法模拟虚拟 grpc 服务

我需要为一个函数编写一个单元测试,该函数在其源代码中调用不同 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 方法。

go grpc grpc-go

5
推荐指数
1
解决办法
9439
查看次数

-bash:git checkout 时意外标记“(”附近出现语法错误

我不小心创建了一个 git 分支,分支名称中包含“()”。创建分支时我没有收到任何错误。但是当我尝试从 master git checkout到分支时,出现以下错误。

-bash: syntax error near unexpected token `('
Run Code Online (Sandbox Code Playgroud)

我尝试使用gitbranch -mgitbranch -m -f重命名分支,但这两个命令都返回与上面给出的相同的错误。

我该如何解决这种情况?有什么方法可以获取我在该分支中所做的更改吗?

提前致谢

git bash git-checkout git-branch

2
推荐指数
1
解决办法
3144
查看次数

标签 统计

bash ×1

git ×1

git-branch ×1

git-checkout ×1

go ×1

grpc ×1

grpc-go ×1