祐樹(92)71この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。iOS向けのテストツール(主にUIテスト)を探していたところ、Calabash-iOSがすごくいいという記事を見つけました。1.0)のBDD系UIテストフレームワークです。Calabash-iOSのREADMEを見てみると、「AndroidとiOSのネイティブとハイブリッドアプリケーションのための自動テスト技術です」と書かれています。上で紹介した記事で書かれている通り、シミュレータと実機の両方でテストが実行できるとのことです。Development)のツールとして有名なCucumberを使用しているので、テストコードはCucumberの書き方で書ける、すなわち自然言語にかなり近い形で書けます!今までExcelなどで書いていたテストケースをある程度流用することも可能です。Calabash-iOSについての情報を探してみたところあまり見つからなかったので、導入から使い方までを紹介していきたいと思います。自分も書きながら覚えていきたいと思います!また、本記事では以下の環境を前提に説明します。ToolsのインストールCalabash-iOSではXcodeは4.3以上が必要です。アップデートしましょう。Toolsをインストールしていなければインストールしましょう。Toolsは[Xcode>Preferences...]で設定画面を開き、Downloadsをクリックして表示した画面でインストールできます。Rubyのバージョン確認Calabash-iOSではgemを利用します。1.8.7以上が必要です。以下のRubyのバージョンを確認して、古ければアップデートしましょう。-vcalabash-cucumberのインストール以下のコマンドを実行して、calabash-cucumberをインストールします。calabash-cucumberもしエラーが発生したら、コマンドの前にsudoを付けて実行してみましょう。calabash-cucumber早速使ってみよう!プロジェクトの作成それではまず、テスト対象となるXcodeプロジェクトを作成しましょう。Applicationを選択し、以下の内容でプロジェクトを作成しましょう。testのターゲットを含まない)Calabash-iOSのセットアッププロジェクトを作成したらターミナルを起動し、作成したプロジェクトディレクトリ(.xcodeprojが含まれるディレクトリ)に移動します。some/path/CalabashSample移動したら以下のコマンドを実行します。setupXcodeが動いているとエラーになるので、コマンド実行前に予め終了しておいてください!プロジェクトディレクトリの中にcalabash.frameworkが作成されていればOKです。以下のコマンドを実行してスケルトンを作成します。genプロジェクトディレクトリの中にfeaturesが作成されていればOKです。プロジェクトのビルドこの状態でXcodeを起動すると、以下のようにスキーマとターゲットが作成されているはずです。CalabashSample-calスキーマを選択してプロジェクトをビルドしてください。テスト実行!これで準備完了です。あとは以下のコマンドをプロジェクトディレクトリで実行してみましょう。cucumberすると、シミュレータが起動しターミナルに以下のように表示されます。これでスケルトンで定義されたテストが実行されます。passed)0m7.970s手動でXcodeに設定する場合ここまではコマンドラインから自動でCalabash-iOSを設定する方法でしたが、手動で設定することもできます。Xcodeプロジェクトの設定まず、プロジェクトにある既存のターゲットからCalabash-iOS用のターゲットを複製します。target]を選択します。only]ボタンをクリックします。copy」としてターゲットが複製されるので、「プロジェクト名-cal」にリネームします。copy」として作成されるので、こちらも「プロジェクト名-cal」にリネームします。settingsより直してください。必要なフレームワークの設定Calabash-iOSを利用するためには以下の2つのフレームワークが必要となります。SDKに同梱)以下のURLからcalabash.frameworkをダウンロードします。(執筆時点で最新はcalabash.framework-0.9.126.zip)https://github.com/calabash/calabash-ios/downloads解凍してできたcalabash.frameworkをプロジェクトに追加します。targets]にCalabashSample-calのみを選択するようにしてください。CFNetowork.frameworkを追加すれば、必要なフレームワークの設定は終了です。settingsを開き、以下の項目を変更します。-lstdc++実行できるか確認するスキーマにプロジェクト名-calを設定し、シミュレータで実行してみましょう。Xcodeのコンソールに以下のように表示されれば成功です。Server)まとめ今回はCalabash-iOSの導入まで解説しました。テストコードを実際に書いたりしてないのでなんとも言えません!次回はサンプルアプリを使用して実際にテストコードを書いてみたいと思います。928,125まだプロフィールが設定されていません。リモート参加もOK〜クラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。〜ITエンジニアのお仕事とホンネ〜1月30日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。クラスメソッドの関連会社であるアノテーション株式会社の研修として依頼を受け、チームと心理的安全性、それに礼節というテーマで話をしてきました。濱田孝治268「ふわわぁ、眠いな。藤井元貴90Gitリポジトリ内を検索する機会はよくあると思います。grepコマンドを使えば、git管理下のファイルのみを対象としてgrepができます。シンプルなコマンドですが、利便性はとても高いと思います。記事2020年01月20日かずえ81速報です。先程大阪リージョン開設予定がアナウンスされました!!以前から大阪ローカルリージョンという色々と制限がついた特殊なリージョンが存在していましたが、それが拡張され、東京リージョンなどと同じ通常のリージョンになります!2021年初頭開設予定です。武田隆志1143このエントリは、2018年、2019年に公開したAWS全サービスまとめの2020年版です。これまではいくつかに分割して公開していましたが、1エントリにまとめてほしいという要望をもらっていたため、今年は1エントリに集約してみました。クラスメソッドの関連会社であるアノテーション株式会社の研修として依頼を受け、チームと心理的安全性、それに礼節というテーマで話をしてきました。CAFEのサービスが「LINEアプリ」として利用できるようになりました。これまではLINEのトークから利用する形でしたが、LINEサービス内から利用できるようになりました。これまでより便利に、シームレスにご利用いただけます。Cafe326件のシェア(そこそこ話題の記事)インフラ未経験の私が内定から入社までに読んだ技術書11冊ブログ記事2020年01月16日Yui326インフラ未経験で入社した私がインフラを勉強するために読んだ技術書11冊を感想とともにまとめました。濱田孝治268「ふわわぁ、眠いな。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。