4
2

More than 3 years have passed since last update.

【ios】swiftのユニットテストでHTTPリクエストをスタブ化する

Last updated at Posted at 2019-10-30

背景

iosアプリのユニットテスト(XCTest)を実行するたびにAWSのAPI Gatewayに接続していた
ユニットテストなので、外接のサービスとは関係を持って欲しくない

やったこと

ライブラリのインストール

今回はOHHTTPStubsを選択した(実行まで時間かからなさそうだったから)

CocoaPods でインストールする
下記をPodfileに追記する

pod 'OHHTTPStubs/Swift'

podコマンドでインストール

pod install

コーディング

テストクラスでインポートを記述

import OHHTTPStubs

スタブの設定を記述
http接続した際の戻り値を設定しておく

stub(condition: isHost("[ここにホスト名を記述(ex:hiroky.com)]")) { _ in
    # 返却するJsonObjectを宣言
    let obj = ["result": "ok"]
    # ステータスコード等を記述
    return OHHTTPStubsResponse(jsonObject: obj, statusCode: 200, headers: nil)
}

以上でスタブの完成!
テストケースないで1度記載しておくと、何回呼ばれても同一の返却をしてくれる模様
ぜひ、スタブを使ってみてください!

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