KIFの紹介




13年3月21日木曜日
KIFってなぁに?

              iOS Integration Testing Framework

              KIF = Keep It Functional らしい

              クレジット決済アプリを提供している Square
              社が開発したオープンソース




13年3月21日木曜日
square
              https://squareup.com/



                    テキスト




13年3月21日木曜日
導入方法
              https://github.com/square/KIF




13年3月21日木曜日
CocoaPodsでのインストールがオススメ

              Test用にTargetを複製する

              TargetNameとProductNameを変更する

              Build SettingsのRUN_KIF_TESTS=1を削除

              application:didFinishLaunchingWithOptions
              内にKIFの実行コードを追加

              詳しくはReadMe参照


13年3月21日木曜日
Accessibilityの設定
              各UIコンポーネントへのアクセスに
              UIAccessibilityを使います

              ButtonやLabelなどはIBで入力している名前が
              そのまま使えます

              それ以外のUIは AccessibilityLabelを設定する
              必要があります(IB or コード)


13年3月21日木曜日
テストコードの作成

              KIFTestControllerを継承したクラスを作る

              KIFTestScenarioのカテゴリを作成してシナリ
              オを記述する(ここがメイン)

              KIFTestStepのカテゴリを作成してステップを
              記述する



13年3月21日木曜日
KIFTestScenario.m




13年3月21日木曜日
では実際にデモをしてみ
                 ましょう


13年3月21日木曜日
メリット


              テストの自動化ができて負荷が減る

              そのままCIへ適用できる

              シナリオがそのまま資産となる




13年3月21日木曜日
デメリット

              UnitTestは別個に必要(あたり前)

              まだノウハウがあまりない(ほとんど英語)

              ハマり所が結構ある

               インストール方法


               うまくアクセスできないUIがある(DatePicker, CustomCell)


               non-portrait時の問題


13年3月21日木曜日
以上
              ありがとうございました


13年3月21日木曜日

Kifの紹介

  • 1.
  • 2.
    KIFってなぁに? iOS Integration Testing Framework KIF = Keep It Functional らしい クレジット決済アプリを提供している Square 社が開発したオープンソース 13年3月21日木曜日
  • 3.
    square https://squareup.com/ テキスト 13年3月21日木曜日
  • 4.
    導入方法 https://github.com/square/KIF 13年3月21日木曜日
  • 5.
    CocoaPodsでのインストールがオススメ Test用にTargetを複製する TargetNameとProductNameを変更する Build SettingsのRUN_KIF_TESTS=1を削除 application:didFinishLaunchingWithOptions 内にKIFの実行コードを追加 詳しくはReadMe参照 13年3月21日木曜日
  • 6.
    Accessibilityの設定 各UIコンポーネントへのアクセスに UIAccessibilityを使います ButtonやLabelなどはIBで入力している名前が そのまま使えます それ以外のUIは AccessibilityLabelを設定する 必要があります(IB or コード) 13年3月21日木曜日
  • 7.
    テストコードの作成 KIFTestControllerを継承したクラスを作る KIFTestScenarioのカテゴリを作成してシナリ オを記述する(ここがメイン) KIFTestStepのカテゴリを作成してステップを 記述する 13年3月21日木曜日
  • 8.
  • 9.
    では実際にデモをしてみ ましょう 13年3月21日木曜日
  • 10.
    メリット テストの自動化ができて負荷が減る そのままCIへ適用できる シナリオがそのまま資産となる 13年3月21日木曜日
  • 11.
    デメリット UnitTestは別個に必要(あたり前) まだノウハウがあまりない(ほとんど英語) ハマり所が結構ある インストール方法 うまくアクセスできないUIがある(DatePicker, CustomCell) non-portrait時の問題 13年3月21日木曜日
  • 12.
    以上 ありがとうございました 13年3月21日木曜日