0

サーバーのさまざまなポートで実行されるRest APIベースのマイクロサービスをいくつか作成しました。次に、Rest API 呼び出しを HTTP 経由で serviceA (次に serviceB を呼び出す) に実際に送信し、その応答を取得してデコードし、予想される応答と比較するテスト コードを作成しました。
これはすべて問題なく動作しますが、次のように実行すると、テストは 0.0% のカバレッジを示しますgo test -cover

src/
|--serviceA/
|     |--main.go
|     |--integration_test.go
|--serviceB/
      |--main.go

各サービスを手動で実行しました。

go run serviceA/main.go   // Listens on port X
go run serviceB/main.go   // Listens on port Y

integration_test.goには、文字どおり使用TestFunc()中の 1 つの REST API エンドポイントを呼び出してから、応答を調べる があります。応答は予想どおりですが、カバレッジは 0.0% です。これは、実際にはデータを送り返したため、複数の行が実行されたため、このケースではありません。serviceA/main.gohttp.Client{}http.NewRequest()serviceA

サービスAとBはlibパッケージではないため、ここで-coverpkg述べたようにcmdを使用できませんでした

おそらく、ブラックボックス コンポーネント/サービスをカバーできるツールを探しています。

4

0 に答える 0