3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FeatureFlagを使った機能のE2Eテスト

Last updated at Posted at 2023-12-14

この記事はZOZOアドベントカレンダー Series5 15日目の記事です。

アウトカムをどんどん出していくためにFeatureFlagを活用しているチームは多いと思います。

簡単に機能をON/OFFできる仕組みは有用ですし、なにより安心してリリースできるのがいいですよね。

困った点としてはE2Eテストをどうするか?

リリース時にONして、不具合が出たらすぐOFFできるようにしたいと言ったケースもあるため、E2EテストではOnのときのテストとOffのときのテストを両方やっておきたいですよね。

ただ、どうやって切り替えるのかが問題です。

自分たちのチームでは、E2Eテストを3つに分けました。

  1. FeatureFlagを使っていない機能のテスト
  2. FeatureFlagをONにしてFeatureFlagを使っている機能のONときのテスト
  3. FeatureFlagをOFFにしてFeatureFlagを使っている機能のOFFときのテスト

といった感じです。結果は最後にマージして出力します。

また、自分たちは、AWSのAppConfigを使っていて、ECSのサイドカーコンテナ経由でFeatureFlagを取得しているので、基本localhostでFlagを取得できます。

そこでローカルでのテストはWireMockを使ってFeatureFlagのモックを活用しています。

WireMockでは、スタンドアロン版とJunit組み込み版がありますので、E2EテストするときはJunitの組み込み版を、ローカルで開発しているときはスタンドアロン版と使い分けることでFeatureFlagのON/OFFの開発が容易にできるようになります。

ぜひご活用ください。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?