0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Github ActionsでUnitTest自動化

Posted at

はじめに

継続的インテグレーション(CI)は、コードの品質を維持し、効率的な開発を行うために欠かせないプロセスです。GitHub Actionsを使用することで、簡単にCIを導入し、自動的にビルドやテストを実行することができます。

準備

  1. Github Actionsでワークフローを実行したいプロジェクトがGithub上にアップロードします
  2. .github/workflowsというディレクトリを作成してください
  3. 作成したディレクトリにYAMLファイルを作成し、ここにGithub Actionsの設定を記述します

サンプル

サンプルとして、以下のコードを書いてみました。
今回はPR作成時にビルドとテストを実行するワークフローを書いてみました。

Sample.yml
name: GitHub Actions Demo App

on:
  pull_request:
    branches:
      - main

jobs:
  unit-tests:
    name: Run Test On PR
    runs-on: macos-latest

    steps:
    - name: Checkout
      uses: actions/checkout@v4

    - name: Set up Xcode
      run: sudo xcode-select --switch /Applications/Xcode_15.3.app

    - name: Build
      run: xcodebuild -scheme ArticleSearcher -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.4'

    - name: Run Tests
      run: xcodebuild -scheme ArticleSearcher -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.4' test

解説

1. on

on:
  pull_request:
    branches:
      - main

on: pull_request で、PRが作成されたときにワークフローをトリガーするように設定しています。また、branches: - main で、メインブランチに対するプルリクエストのみが対象となるようにしています。

2. jobs

jobs:
  unit-tests:
    name: Run Test On PR
    runs-on: macos-latest

onでトリガーを設定したタイミングで、jobsに記載してあるワークフローが実行されます。nameはこのjobに任意の名前つけることができます。また、今回はruns-on: macos-latestで最新のmacOSバージョンで実行されるように指定しています。

3. steps

各ジョブにはいくつかのステップに分けて具体的な処理を定義することができます。

  • Checkout
- name: Checkout
  uses: actions/checkout@v4

このステップはGithub Actions標準のアクションで、ワークフロー内でリポジトリにアクセスできるようなります。

  • Xcodeのセットアップ
- name: Set up Xcode
  run: sudo xcode-select --switch /Applications/Xcode_15.3.app

Xcodeのバージョンを指定してセットアップします。このサンプルでは、Xcode 15.3を使用するよう設定しています。

  • ビルド
- name: Build
  run: xcodebuild -scheme ArticleSearcher -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.4'

xcodebuild コマンドを使って、指定したシミュレータ環境(iPhone 15、iOS 17.4)でアプリをビルドします。

  • テスト実行
- name: Run Tests
  run: xcodebuild -scheme ArticleSearcher -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.4' test

こちらも xcodebuild コマンドを使い、ビルドしたアプリに対してユニットテストを実行します。

まとめ

これにより、PR作成時に自動でビルドとテストが実行されるようになりました。
また、今回作成したサンプルコードを下に貼っておきます。
https://github.com/kai-Bomb/ArticleSearcher

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?