リンティングおよび単体テストを実行する
GitHub Actions を使用して、イベントによってトリガーされるタスクを自動化できます。 pull request が作成されたときにコード品質チェックをトリガーするには、次のことを行う必要があります。
- リンターおよび単体テストでコードを検証する。
- コード チェックを pull request と統合する。
コードを検証する
コードで行うチェックには、リンターと単体テストの 2 つの一般的な種類があります。
リンターを使用して、組織が設定した品質ガイドラインにコードが準拠しているかどうかを確認できます。 たとえば、Flake8 でコードをリントするには、コードが準拠する必要がある規則を含む .flake8
構成ファイルを作成します。
コードが期待どおりに動作するかどうかを確認する場合は、単体テストを作成できます。 コードの特定の部分を簡単にテストするには、スクリプトに関数を含める必要があります。 テスト ファイルを作成することで、スクリプト内の関数をテストできます。 Python コードをテストするための一般的なツールは Pytest です。
ヒント
詳細については、Pytest で単体テストを実行する方法に関するページを参照してください。
GitHub Actions を使用してコードを確認するには、次のことを行う必要があります。
- ツール (Flake8 または Pytest) をインストールする。
- 確認する必要があるリポジトリ内のフォルダーを指定して、テストを実行する。
ヒント
コードの検証は、GitHub Actions を使用して自動的に行うことも、Visual Studio Code で手動で行うこともできます。 詳細については、コードをローカルで検証する方法に関するページを参照してください。
コード チェックを pull request と統合する。
pull request が作成されたときに GitHub Actions ワークフローをトリガーする場合は、on: pull_request
を使用できます。
すべての品質チェックに合格した場合にのみ、確実に pull request をマージできるようにしたいと考えています。
コード チェックを、メイン ブランチをターゲットとする pull request と統合するには、次のことを行う必要があります。
- リポジトリ内の [設定] タブに移動します。
- [Branches](ブランチ) を選択します。
- メイン ブランチのブランチ保護規則内で [マージする前に状態チェックに合格することが必要] を有効にします。
ここで、必要に応じて設定するリンターと単体テストを検索して選択できます。 その後、pull request を作成するたびに、GitHub Actions がトリガーされ、ワークフローが正常に通過した場合にのみ pull request をマージできることがわかります。
注意
pull request をマージする前に必要なコード チェックを構成するには、ジョブに GitHub Actions ワークフローでの名前が必要です。 その後、ジョブ名を検索してチェックを見つけることができます。