2
2

More than 1 year has passed since last update.

【Android】 Flipperで簡単にAPIモック環境を作成する

Last updated at Posted at 2021-12-27

はじめに

Facebookが作ってるFlipperというデバッグツールで、簡単にAPIモック環境を作成することができたのでまとめておきます

Flipper導入は公式サイトを参考にNetwork Pluginを設定するとネットワークのトラフィックが参照できるようになります。

モックサポートを有効にする

FlipperのNetwork PluginにはOkhttp統合用のFlipperOkhttpInterceptorが用意されています。
そのFlipperOkhttpInterceptorには、isMockResponseSupportedというパラメータがあり、デフォルトだと無効(false)なのですが、こちらを有効(true)に設定することでサーバーレスポンスをモックすることが可能になります。

  fun createOkHttpClient(networkFlipperPlugin: NetworkFlipperPlugin): OkHttpClient = OkHttpClient.Builder()
    .addInterceptor(FlipperOkhttpInterceptor(networkFlipperPlugin, true))
    .build()

このとき、ネットワークインターセプター(addNetworkInterceptor)ではなくアプリケーションインターセプター(addInterceptor)に登録する必要があります

これで、APIをモックすることができるようになりました。

Flipperアプリを起動するとNetworkにMockボタンが有効になっていると思います(表示されない場合、Flipperアプリを再起動で確認してください)
flipper_network_mock_showing.png

APIモックを設定する

MockボタンからAPIを指定してレスポンスデータなどを設定することが可能です。
① Add Routeより新規の条件を設定します
※ 前画面で任意のAPIを選択した状態で、Copy Selected CallsするとレスポンスデータなどをCopyした状態でモック用のレスポンスを作成することができます
② httpリクエストメソッドを設定します
③ URLを設定します
④ レスポンスデータを設定します
httpステータスコードも変更できる(下記画像の200の部分)のでエラーパターンなどをテストしたい場合には変更することも可能です

flipper_network_mock_responses.png

APIモックを確認する

リクエストがモックされている場合、オレンジ色になっていれば成功です。

flipper_network_mocked_response.png

さいごに

APIがまだ完成してなかったりレスポンスを変更したい場合、Charlesなどでも同じことはできますが、いつも使っているデバッグツールでできると便利ですよね

参考

2
2
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
2
2