はじめに
【fastlane】導入手順の説明 ※公式ドキュメントの手順でわからない箇所がある方向け - Swift・iOSの続きです。Running Tests - fastlane docsに沿って、テストの実行と結果をSlackに投稿する方法を説明します。
環境
・macOS Catalina 10.15.7
・Xcode 12.0.1
・bash 3.2.57
・bundler 2.1.4
・fastlane 2.167.0
・Visual Studio Code 1.50.1
手順
テストを実行
Fastfileを編集
プロジェクトファイルがある階層に移動して、"fastlane"フォルダを選択。
"Fastfile"ファイルを開く。
以下がこの後変更する箇所。
desc "Description of what the lane does" lane :custom_lane do # add actions here: https://docs.fastlane.tools/actions end
変更点は以下。
・"desc"は(そのままだが)説明のために使う。今回は"lane"の説明として"test sample"に変更する。
・"custom_lane"には任意の文字列を設定できる。今回は"test"に変更する。
・"lane"の中で、"run_tests(scheme: "{プロジェクト名}")"を追加するとテストを実行できる。仮にプロジェクト名が"FastlaneTest"の場合は"run_tests(scheme: "FastlaneTest")を追加する。
・テストするデバイスを指定できるパラメータなど、テスト実行時に指定できるパラメータが用意されているので、必要なものがあれば追加する。今回はデバイスを追加。
参考:https://docs.fastlane.tools/actions/run_tests/#parameters
変更後は以下のようになる。
desc "test sample" lane :test do run_tests(device: "iPhone 11 Pro", scheme: "FastlaneTest") end
テストを実行
ターミナルを開き、プロジェクトファイルがある階層に移動して、以下コマンドを実行するとテストが実行されます。
bundle exec fastlane test
テスト結果をSlackに投稿
Slack ワークスペースの作成手順は省略します。
※参考:Slack ワークスペースを作成する | Slack
アプリを作成
Slack API: Applications | Slackの右上にある"Create New App"を選択。
"App Name"にはアプリを表す任意の文字列を入力、"Development Slack Workspace"には通知を投稿したいワークスペースを選択。
"Webhook URL"を発行
作成したアプリを選択。
※"Your Apps"の画面には、添付画像右上の"Your Apps"から遷移できます。
"Incoming Webhooks"を選択。
"Activate Incoming Webhooks"を"On"にする。
画面下にある"Add New Webhook to Workspace"を選択。
通知を投稿するチャンネルを選択して、「許可する」を選択。
"Webhook URL"が発行される。"Copy"を選択。
"Fastfile"を編集
"Fastfile"を開く。以下のように"slack_url"を追加して上書き保存。
desc "test sample" lane :test do run_tests(device: "iPhone 11 Pro", scheme: "FastlaneTest", slack_url: "{CopyしたWebhook URL}") end
テストを実行
ターミナルで以下コマンドを実行すると、テストが実行後に結果がSlackに投稿される。
bundle exec fastlane test
おわりに
テストの実行方法に関しては公式ドキュメントで十分わかりやすいので、fastlaneというよりもSlackのWebhookに関する記事になってしまいました・・・。
参考
・Running Tests - fastlane docs