執行 Lint 分析和單元測試
GitHub Actions 可以用來將事件所觸發的工作自動化。 若要在建立提取要求時觸發程式碼品質檢查,您必須:
- 使用 Linter 和單元測試來驗證您的程式碼。
- 使用提取要求整合程式碼檢查。
驗證您的程式碼
有兩種常見的檢查類型,您想要在程式碼上執行:Linter 和 單元測試。
您可以使用 Linter,來檢查您的程式碼是否符合貴組織已設定的品質指導方針。 例如,若要使用 Flake8,針對您的程式碼執行 Lint,您將建立 .flake8
設定檔,其中包含程式碼必須遵守的規則。
若要檢查程式碼是否如預期般運作,您可以建立單元測試。 若要輕鬆地測試程式碼的特定部分,您的程式碼應該包含函式。 您可以建立測試檔案來測試指令碼中的函式。 測試 Python 程式碼的熱門工具是 Pytest。
提示
深入了解如何使用 Pytest 執行單元測試。
若要使用 GitHub Actions 檢查程式碼,您必須:
- 安裝工具 (Flake8 或 Pytest)。
- 指定存放庫內需要檢查的資料夾來執行測試。
提示
您可以使用 GitHub Actions 自動驗證程式碼,或在 Visual Studio Code 中手動驗證程式碼。 深入了解如何在本機驗證程式碼。
使用提取要求整合程式碼檢查。
若要在建立提取要求時觸發 GitHub Actions 工作流程,您可以使用 on: pull_request
。
您想要確保提取要求只能在所有品質檢查皆已通過時合併。
若要整合程式碼檢查與以主要分支為目標的任何提取要求,您必須執行下列動作:
- 瀏覽至存放庫中的 [設定] 索引標籤。
- 選取 [分支]。
- 在主要分支的分支保護規則內啟用 [在合併之前需要狀態檢查通過]。
在這裡,您可以搜尋並選取 Linter 和單元測試,以視需要加以設定。 然後,每當建立提取要求時,您就會注意到其會觸發您的 GitHub Actions,而且只有在工作流程成功通過時,您才能合併提取要求。
注意
若要設定在合併提取要求之前需要進行程式碼檢查,您的作業必須在 GitHub Actions 工作流程中具有名稱。 然後,您可以搜尋作業名稱來尋找檢查。