【Xcode/Fastlane】テストの自動化方法!run_testsアクションの使い方

この記事からわかること
- iOS/Xcodeの自動化ツール:Fastlaneの使い方
- テストを自動化する方法
- run_testsアクションとは?
\ アプリをリリースしました /
環境
- Xcode:15.0.1
- watchOS:10.0
- Swift:5.9
- macOS:Sonoma 14.1
- fastlane:2.221.0
Xcode/iOSアプリでFastlaneを使用してテストを自動化する方法をまとめていきます。導入やセットアップの方法は以下の記事を参考にしてください。
Fastlaneでテストを実行する方法
公式リファレンス:fastlaneを使用してiOSテストを実行する
Fastlaneを使用してテストを実行するためにはXcodeのプロジェクトにテストを導入している必要があります。プロジェクト作成時に「Include Tests」にチェックを入れておけばOKです。

必要なテストの実装方法などを上記の記事を参考にしてテストを用意しておいてください。
Fastfileファイルを編集
Fastlaneでテストを実行するには「Fastfile」ファイルを編集します。最初に自動生成されたものは以下のようになっています。
ここに新しくテスト用のレーンを追加します。元々あったcustom_lane
を消してtests
レーンを追加しました。desc
はレーンの説明を記述するブロックです。
FastlaneでユニットテストまたはUIテストを実行するにはrun_tests
アクションを使用します。パラメータには様々なオプションや設定値を渡すことができるようになっていますが、単に動作させたいだけであればscheme
にプロジェクト名を渡せばOKです。
テストの実行
テスト(レーン)を実行するためにはfastlane レーン名
を実行します。bundler
を使用している場合はbundle exec
の後にfastlane レーン名
を付与したコマンドになります。
実行するといろいろなログが出力され、最後に以下のように結果が表示されます。成功した場合は以下のようになりました。
run_testsのパラメータの種類
run_tests
アクションにはいろいろなパラメータを指定できます。テスト実行するデバイスを選択したり、クリーンビルドの実行やテストレポートの出力先を変更することなどが可能になっています。
パラメータの種類は公式リファレンスを参照してください。
Cocoa Podsを使用していて.xcodeproj
ではなく.xcworkspace
を使用している場合はworkspace
パラメータを指定します。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。