はじめに こんにちは、STORESの高田です。 STORES には Go で実装した GraphQL API サーバがあり、そのプロジェクトでは Go のテスト内で E2E テストを行っています。今回はそのテスト方法についてご紹介します。 実装例 今回の E2E テストは CI でも実行したいため、再現性のある安定したテストであることが求められます。 少し工夫する必要がありますが、テスト対象となるサーバのポート確保時に、エニーポートを指定して動的にポートを割り当てることで安定したテストを実現できます。 以下のコードのように、 TestMain 内での net.Listen("tcp", "lo…