Eseguire linting e testing unità
GitHub Actions può essere usato per automatizzare le attività attivate dagli eventi. Per attivare i controlli di qualità del codice quando viene creata una richiesta pull, sarà necessario:
- Verificare il codice con linter e unit test.
- Integrare i controlli del codice con le richieste pull.
Verificare il codice
Esistono due tipi comuni di controlli che sarà opportuno eseguire nel codice: linter e unit test.
È possibile usare i linter per verificare se il codice rispetta le linee guida di qualità definite dall'organizzazione. Ad esempio, per eseguire il linting del codice con Flake8, si creerà un file di configurazione .flake8
, che contiene le regole che il codice deve rispettare.
Per verificare se il codice funziona come previsto, è possibile creare unit test. Per testare facilmente parti specifiche del codice, gli script dovrebbero contenere funzioni. È possibile testare le funzioni negli script creando file di test. Uno strumento popolare per testare il codice Python è Pytest.
Suggerimento
Altre informazioni su come eseguire unit test con Pytest.
Per controllare il codice usando GitHub Actions sarà necessario:
- Installare lo strumento (Flake8 o Pytest).
- Eseguire i test specificando le cartelle all'interno del repository che devono essere controllate.
Suggerimento
È possibile verificare il codice automaticamente con GitHub Actions o manualmente in Visual Studio Code. Altre informazioni su come verificare il codice in locale.
Integrare i controlli del codice con le richieste pull.
Per attivare un flusso di lavoro di GitHub Actions quando viene creata una richiesta pull, è possibile usare on: pull_request
.
È opportuno assicurarsi che una richiesta pull possa essere sottoposta a merge solo dopo aver superato tutti i controlli di qualità.
Per integrare i controlli del codice con le richieste pull destinate al ramo principale, sarà necessario eseguire le operazioni seguenti:
- Passare alla scheda Settings nel repository.
- Selezionare Rami.
- Abilitare require status checks to pass before merging all'interno della regola di protezione dei rami per il ramo principale.
È qui possibile cercare e selezionare linter e unit test per impostarli in base alle esigenze. Ogni volta che si crea una richiesta pull, si noterà che verranno attivate le azioni di GitHub Actions impostate e solo quando i flussi di lavoro superano correttamente i test sarà possibile eseguire il merge della richiesta pull.
Nota
Per configurare i controlli del codice da richiedere prima del merge di una richiesta pull, il processo deve avere un nome nel flusso di lavoro di GitHub Actions. È quindi possibile trovare i controlli cercando i nomi dei processi.