关于 golang 里,grpc 接口测试。大佬们是如何进行测试的2022-09-14 10:28:42random random订阅者关注私信10318文章0粉丝 测试交流23322字数 15阅读0分3秒阅读模式grpc 接口自动化测试应该怎么去实现相关阅读AI时代测试工程师的核心竞争力:从执行用例到可解释的质量判断从零搭建AI测试用例工作流:需求文档自动转思维导图AI+Skills如何让测试工程师效率提升10倍?三步实现智能生成测试用例宝塔面板的BUG新建网站时新建了文件再建文件夹时提示错误宝塔面板无法安装扩展的BUG解决方案PHP安装扩展下载链接错误测试反模式的思考 回复 23 评论 23 访客 23 body 9 2021-05-21 09:31:17 20F 回复 我现在的做法, 1、go.mod 配置 require(要测试的业务代码 Git) 2、go mod download 3、提示业务代码依赖的某些目录加载失败 4、将依赖的模块添加到 go.mod 里,重新 go mod download 5、开始调用开发已经编译好的 *.pd.go 里的 struct 以及 NewClient这样做法我总感觉不对 moku 9 2021-05-21 09:25:09 19F 回复 我用 bloomrpc 和 grpcox bugVanisher 9 2021-05-20 14:10:33 18F 回复 你只需要依赖你测试的接口的接口描述,不需要管它的依赖吧。另外建议把这些描述类文件都放到一个公共仓库统一管理 bugVanisher 9 2021-05-20 14:09:04 17F 回复 有新增接口,更新下接口描述和 PB,就可以写新接口的测试啦 body 9 2021-05-20 13:59:42 16F 回复 这样做,有个问题,就是需要把开发的代码拉下来。他有依赖别的项目。这样搞下来可能把整个公司的代码都拉下来了 body 9 2021-05-20 13:53:46 15F 回复 我想通过规则校验,自动去构造测试代码这只是初步的一个想法 body 9 2021-05-20 13:53:10 14F 回复 对对对,目前就是这么调用的。 您这个是,有接口新增,就对代码进行扩展吗 bugVanisher 9 2021-05-20 12:04:17 13F 回复 我理解有两种方式: 1、自己实现 GRPC client,这种需要自己根据 ip:port 调用 dial 连接这些方法,然后构造请求对象去调用具体的 grpc 方法,这种方式比较通用。可以参考:https://github.com/myzhan/boomer/blob/master/examples/grpc/main.go 2、看看自己项目其他应用是如何调用被测应用的 grpc 接口的,比如我们项目是使用 microkit 的,它的 rpc 接口通过 pb 定义,并生成.pb.go,.microkit.go 文件,里面就有 NewClient 方法,拿到 client 后直接用来发起请求就可以了。 client := livetech.NewClient() req := &livetech.GetQualityListRequest{ } resp, err := client.GetQualityList(context.Background(), req).pb.go,.microkit.go 文件 可以理解成是 rpc 服务的接口说明,用就是了。 残枫 9 2021-05-20 11:55:29 12F 回复 自动生成新的测试用例这个方面,也是两个方面,一个是通用的检验规则,这个是可以自动生成的,加个注解或者装饰器啥的,但是我们往往更加关注业务,所以目前来看,开发每新增一个微服务,你都要加用例,关注与业务逻辑方面以及服务暴露的安全方面。 重来看雨 9 2021-05-20 11:38:15 11F 回复 你能实现到 grpc 的客户端,就可以自动化啦。这个跟 http 几乎没什么区别。评论分页 第 1 页 第 2 页 第 3 页 回复问题 匿名网友 确定 昵称 邮箱 网址 Address 提交 取消 拖动滑块以完成验证 您可能喜欢 AI时代测试工程师的核心竞争力:从执行用例到可解释的质量判断 从零搭建AI测试用例工作流:需求文档自动转思维导图 AI+Skills如何让测试工程师效率提升10倍?三步实现智能生成测试用例 宝塔面板的BUG新建网站时新建了文件再建文件夹时提示错误 宝塔面板无法安装扩展的BUG解决方案PHP安装扩展下载链接错误 测试反模式的思考 使用 cookie 绕过验证码,换一个系统就无法通过验证 MeterSphere测试平台UI 自动化窗口切换方法 5000 块买的 python 自动化课程难道就这? 在 Linux 上搭建 Jenkins,自动构建接口测试
20F
我现在的做法,
1、go.mod 配置 require(要测试的业务代码 Git)
2、go mod download
3、提示业务代码依赖的某些目录加载失败
4、将依赖的模块添加到 go.mod 里,重新 go mod download
5、开始调用开发已经编译好的 *.pd.go 里的 struct 以及 NewClient
这样做法我总感觉不对
19F
我用 bloomrpc 和 grpcox
18F
你只需要依赖你测试的接口的接口描述,不需要管它的依赖吧。另外建议把这些描述类文件都放到一个公共仓库统一管理
17F
有新增接口,更新下接口描述和 PB,就可以写新接口的测试啦
16F
这样做,有个问题,就是需要把开发的代码拉下来。他有依赖别的项目。这样搞下来可能把整个公司的代码都拉下来了
15F
我想通过规则校验,自动去构造测试代码
这只是初步的一个想法
14F
对对对,目前就是这么调用的。
您这个是,有接口新增,就对代码进行扩展吗
13F
我理解有两种方式:
1、自己实现 GRPC client,这种需要自己根据 ip:port 调用 dial 连接这些方法,然后构造请求对象去调用具体的 grpc 方法,这种方式比较通用。可以参考:https://github.com/myzhan/boomer/blob/master/examples/grpc/main.go
2、看看自己项目其他应用是如何调用被测应用的 grpc 接口的,比如我们项目是使用 microkit 的,它的 rpc 接口通过 pb 定义,并生成.pb.go,.microkit.go 文件,里面就有 NewClient 方法,拿到 client 后直接用来发起请求就可以了。
client := livetech.NewClient()
req := &livetech.GetQualityListRequest{
}
resp, err := client.GetQualityList(context.Background(), req)
.pb.go,.microkit.go 文件 可以理解成是 rpc 服务的接口说明,用就是了。
12F
自动生成新的测试用例这个方面,也是两个方面,一个是通用的检验规则,这个是可以自动生成的,加个注解或者装饰器啥的,但是我们往往更加关注业务,所以目前来看,开发每新增一个微服务,你都要加用例,关注与业务逻辑方面以及服务暴露的安全方面。
11F
你能实现到 grpc 的客户端,就可以自动化啦。这个跟 http 几乎没什么区别。