リンティングおよび単体テストを実行する

完了

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 と統合するには、次のことを行う必要があります。

  1. リポジトリ内の [設定] タブに移動します。
  2. [Branches](ブランチ) を選択します。
  3. メイン ブランチのブランチ保護規則内で [マージする前に状態チェックに合格することが必要] を有効にします。

マージ前の状態チェックを必要とする設定のスクリーンショット。

ここで、必要に応じて設定するリンターと単体テストを検索して選択できます。 その後、pull request を作成するたびに、GitHub Actions がトリガーされ、ワークフローが正常に通過した場合にのみ pull request をマージできることがわかります。

注意

pull request をマージする前に必要なコード チェックを構成するには、ジョブに GitHub Actions ワークフローでの名前が必要です。 その後、ジョブ名を検索してチェックを見つけることができます。