我被指派测试gRPC API(用Golang写的)但是我不知道如何去测试它,我也找不到任何关于这种类型测试的在线教程。我能想到的唯一方法是写单元测试来测试方法本身,但是我也想用客户端来测试它。例如,我曾经测试过REST API,使用JMeter作为客户端来发送请求和验证响应数据。有没有一种方法可以用客户端来测试gRPC API,或者单元测试是唯一的方法?
7fyelxc51#
嗯,我在寻找像Postman这样的客户端,然后我找到了bloomrpc,它有助于调用grpc服务,但我不确定它是否符合您的目的,如果您正在寻找像jmeter这样的工具。
cczfrluj2#
如果您正在搜索像Postman这样的工具,也可以使用https://kreya.app,使用它可以调用您的gRPC服务并查看响应。
jmp7cifd3#
既然您提到您以前用JMeter做过测试,那么我假设您正在寻找一个可以调用gRPC服务的外部测试客户机。
有了这4个客户端,您就可以动态调用gRPC服务,但是,如果您正在寻找一个也可以进行负载测试的测试客户端,那么您将需要Fint。
e0uiprwp4#
可以有两种类型测试。
this问题回答了测试的这一方面。只需编写RPC方法的单元测试
下面是关于创建gRPC客户端的代码片段
// Set up a connection to the server. conn, err := grpc.Dial(address, grpc.WithInsecure()) // Execute RPC you want to test r, err := c.SayHello(context.Background(), &pb.HelloRequest{Name: name})
检查here以获取完整的代码示例
e3bfsja25#
Postman刚刚发布了测试版的grpc:
https://blog.postman.com/postman-now-supports-grpc/我刚刚测试了一下,效果很好👍🏻🙂
20jt8wwn6#
您也可以尝试使用command line tool evans来测试gRPC
mum43rcc7#
对于任何偶然发现这个线程的人...前面所有的答案都已经提供了很好的工具,我们在团队中使用了BloomRPC & Kreya(个人选择)。我想添加的是这个gRPC生态系统页面。它包含了所有相关工具的精选列表。还有其他GUI测试工具(见GUI部分),或者负载测试,基准测试工具(测试)https://github.com/grpc-ecosystem/awesome-grpcPS:老实说,我还没有能够检查所有的工具,除了BloomRPC和Kreya。
7条答案
按热度按时间7fyelxc51#
嗯,我在寻找像Postman这样的客户端,然后我找到了bloomrpc,它有助于调用grpc服务,但我不确定它是否符合您的目的,如果您正在寻找像jmeter这样的工具。
cczfrluj2#
如果您正在搜索像Postman这样的工具,也可以使用https://kreya.app,使用它可以调用您的gRPC服务并查看响应。
jmp7cifd3#
既然您提到您以前用JMeter做过测试,那么我假设您正在寻找一个可以调用gRPC服务的外部测试客户机。
有了这4个客户端,您就可以动态调用gRPC服务,但是,如果您正在寻找一个也可以进行负载测试的测试客户端,那么您将需要Fint。
e0uiprwp4#
可以有两种类型测试。
this问题回答了测试的这一方面。只需编写RPC方法的单元测试
下面是关于创建gRPC客户端的代码片段
检查here以获取完整的代码示例
e3bfsja25#
Postman刚刚发布了测试版的grpc:
https://blog.postman.com/postman-now-supports-grpc/
我刚刚测试了一下,效果很好👍🏻🙂
20jt8wwn6#
您也可以尝试使用command line tool evans来测试gRPC
mum43rcc7#
对于任何偶然发现这个线程的人...前面所有的答案都已经提供了很好的工具,我们在团队中使用了BloomRPC & Kreya(个人选择)。
我想添加的是这个gRPC生态系统页面。它包含了所有相关工具的精选列表。还有其他GUI测试工具(见GUI部分),或者负载测试,基准测试工具(测试)
https://github.com/grpc-ecosystem/awesome-grpc
PS:老实说,我还没有能够检查所有的工具,除了BloomRPC和Kreya。