STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

Go

Goのテストで GraphQL APIサーバのE2Eテストを書く方法

Go

はじめに こんにちは、STORESの高田です。 STORES には Go で実装した GraphQL API サーバがあり、そのプロジェクトでは Go のテスト内で E2E テストを行っています。今回はそのテスト方法についてご紹介します。 実装例 今回の E2E テストは CI でも実行し…

go-cmp/cmp/cmpopts のオプション活用事例

Go

はじめに こんにちは、STORESの高田です。 今回は github.com/google/go-cmp/cmp のオプションの中から、実際のテストコードで使用頻度の高いオプションについてご紹介します。 基本的な使い方 cmp パッケージ用の汎用的なオプションは cmpopts package - gi…

net/http/httptest でHTTPクライアントをテストする方法

Go

はじめに こんにちは、STORESの高田です。 今回は net/http/httptest でHTTPクライアントをテストする方法についてご紹介します。 外部サービスのクライアントを含めたテストを実装する際には net/http/httptest を使うと、外部依存を排除しつつ再現性のある…

Playwrightを活用したRESTful APIのシナリオテスト

はじめに こんにちは、STORESの高田です 今回は Playwright を用いて RESTful API のシナリオテストを実装したことについてご紹介します Playwright ではAPIの操作フローをプログラムで書けるため、想定利用ケースをコードで明示できる上、融通の効くテスト…

Go言語プロダクトでテストヘルパー関数を導入した話

Go

はじめに こんにちは、STORESの高田です STORES には Go 言語で書かれたプロダクトがいくつかあります。今回は、その中で使用しているテストヘルパー関数である testutils.Assert と応用についてご紹介します ベースは google/go-cmp 現在のコードベースでは…

Go と GraphQLで作る組織管理基盤

こんにちは。プロダクト基盤グループの inari111 です。STORES の各プロダクトへ導入する共通基盤を開発しています。 私の部署内で2つ目の基盤プロダクトとなる組織管理基盤を作ったのでご紹介します。 社内では「maja(マヤ)」と呼ばれています。 この記事…

STORES はGo Conference 2024にBronzeスポンサーとして協賛します

こんにちは、技術広報のえんじぇるです。 STORES は、6月8日に開催されるGo Conference 2024にBronzeスポンサーとして協賛します。 Go Conference 2021 Autumn、Go Conference 2022 Spring、Go Conference 2023に続き、今回で4回目の協賛です。 gocon.jp STO…

Goのマイナーアップデートを追っている方法の紹介

こんにちは。 テクノロジー部門プロダクト基盤本部の大橋(@nal_6295)です。 この記事は STORES Advent Calendar 2022 の7日目となります。 はじめに このプロダクトブログで過去2回、Goの社内勉強会を実施していることについて書いてきました。また、その中…

Go の勉強会を始めて1年が経ちました

はじめに こんにちは。テクノロジー部門プロダクト基盤本部の@NAL_6295です。 プロダクト基盤本部では、ID基盤を開発・運用しており、Go を採用しています。 参考までに、ID基盤のアプリケーションアーキテクチャについて書いた記事を紹介します。 tech.hey.…

OpenID Connect フレームワーク fosite にコントリビュートしました

こんにちは。プロダクト基盤本部 基盤グループの inari111 です。 私の部署は STORES 各プロダクトへ導入する ID 基盤の開発をしています。 今回は ID 基盤内で使われている OpenID Connect フレームワーク ory/fosite にコントリビュートしたことについて書…

Go の社内勉強会をなぜはじめたのか、そしてなにをやっているのか

最初に こんにちは。 テクノロジー部門プラットフォーム本部の大橋@NAL_6295です。 この記事はhey Advent Calendar 2021 の12日目となります。 この記事では、以下についてご紹介させていただきます。 Go をどこでつかっているのか Go の社内勉強会をなぜは…

Go で実装した ID 基盤のアプリケーションアーキテクチャ

こんにちは。hey 株式会社 プラットフォーム本部 基盤グループの inari111 です。 私の部署は STORES 各プロダクトへ導入する共通基盤を開発しており、1つ目のプロダクトとして ID 基盤を Go で実装しました。 この記事では、その Go アプリケーションのアー…