[英]How to test gRPC APIs?
我被分配測試一個 gRPC API(用 Golang 編寫),但我不知道如何進行測試,而且我在網上找不到任何此類測試的教程。 我能想到的唯一方法是編寫單元測試來測試方法本身,但我也想用客戶端測試它。 例如,我過去測試過使用 JMeter 作為客戶端發送請求並驗證響應數據的 REST API。 是否有使用客戶端測試 gRPC API 的方法,或者單元測試是唯一的方法?
好吧,我正在尋找像 Postman 這樣的客戶端,然后我找到了bloomrpc ,它有助於調用 grpc 服務。 但是我不確定它是否符合您的目的,如果您正在尋找像 jmeter 這樣的工具。
如果您正在尋找像 Postman 這樣的工具,還有https://kreya.app 。 有了它,您可以調用您的 gRPC 服務並查看響應。
免責聲明:我是 Kreya 的作者之一。
可以有兩種類型的測試。
通過忽略網絡僅測試gRPC方法的實現
這個問題回答了測試的這個方面。 只需為 RPC 方法編寫單元測試
如果您還想測試實現和gRPC網絡方面,那么您需要為要測試的服務編寫 gRPC 客戶端。
這是一個關於創建 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})
在此處查看完整的代碼示例
你也可以試試這個命令行工具evans 來測試 gRPC
對於任何偶然發現這個線程的人......之前的所有答案都已經提供了很好的工具。 我們在團隊中使用了 BloomRPC 和 Kreya(個人選擇)。
我要添加的是這個 gRPC 生態系統頁面。 它包含所有相關工具的精選列表。 還有其他 GUI 測試工具(參見 GUI 部分),或負載測試、基准測試工具(Testing)
https:\/\/github.com\/grpc-ecosystem\/awesome-grpc<\/a>
PS:老實說,我無法檢查除 BloomRPC 和 Kreya 之外的所有工具。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.