Quickstart: Een GitHub-werkstroom voor testvalidatie maken
In deze quickstart leert u hoe u een GitHub-werkstroom maakt om uw .NET-broncode te testen. Automatisch testen van uw .NET-code in GitHub wordt aangeduid als continue integratie (CI), waarbij pull-aanvragen of wijzigingen in de brontriggerwerkstromen worden gebruikt om te oefenen. Naast het bouwen van de broncode zorgt het testen ervoor dat de gecompileerde broncode functioneert als de auteur. Vaker dan niet fungeren eenheidstests als onmiddellijke feedbacklus om de geldigheid van wijzigingen in broncode te waarborgen.
Vereisten
- Een GitHub-account.
- Een .NET-broncodeopslagplaats.
Een werkstroombestand maken
Voeg in de GitHub-opslagplaats een nieuw YAML-bestand toe aan de map .github/workflows . Kies een betekenisvolle bestandsnaam, iets dat duidelijk aangeeft wat de werkstroom moet doen. Zie Werkstroombestand voor meer informatie.
Belangrijk
GitHub vereist dat werkstroomsamenstellingsbestanden in de map .github/workflows worden geplaatst.
Werkstroombestanden definiëren doorgaans een samenstelling van een of meer GitHub Action via de jobs.<job_id>/steps[*]
. Zie de werkstroomsyntaxis voor GitHub Actions voor meer informatie.
Maak een nieuw bestand met de naam build-and-test.yml, kopieer en plak de volgende YML-inhoud erin:
name: build and test
on:
push:
pull_request:
branches: [ main ]
paths:
- '**.cs'
- '**.csproj'
env:
DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
jobs:
build-and-test:
name: build-and-test-${{matrix.os}}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
- name: Setup .NET Core
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal
In de voorgaande werkstroomsamenstelling:
De
name: build and test
naam wordt gedefinieerd, 'build en test' wordt weergegeven in werkstroomstatusbadges.name: build and test
Het
on
knooppunt geeft de gebeurtenissen aan die de werkstroom activeren:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- Geactiveerd wanneer een
push
ofpull_request
optreedt in demain
vertakking waar bestanden zijn gewijzigd die eindigen op de bestandsextensies .cs of .csproj .
- Geactiveerd wanneer een
Het
env
knooppunt definieert benoemde omgevingsvariabelen (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
- De omgevingsvariabele
DOTNET_VERSION
wordt de waarde'6.0.401'
toegewezen. Er wordt later naar de omgevingsvariabele verwezen om dedotnet-version
actions/setup-dotnet@v3
GitHub Action op te geven.
- De omgevingsvariabele
Het
jobs
knooppunt bouwt de stappen uit die de werkstroom moet uitvoeren.jobs: build-and-test: name: build-and-test-${{matrix.os}} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v3 - name: Setup .NET Core uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_VERSION }} - name: Install dependencies run: dotnet restore - name: Build run: dotnet build --configuration Release --no-restore - name: Test run: dotnet test --no-restore --verbosity normal
- Er is één taak, met de naam
build-<os>
van het<os>
besturingssysteem van destrategy/matrix
. Dename
elementen zijnruns-on
dynamisch voor elke waarde in dematrix/os
. Dit wordt uitgevoerd op de nieuwste versies van Ubuntu, Windows en macOS. - De
actions/setup-dotnet@v3
GitHub Action wordt gebruikt om de .NET SDK in te stellen met de opgegeven versie van deDOTNET_VERSION
omgevingsvariabele. - De
dotnet restore
opdracht wordt aangeroepen. - De
dotnet build
opdracht wordt aangeroepen. - De
dotnet test
opdracht wordt aangeroepen.
- Er is één taak, met de naam
Badge Een werkstroomstatus maken
Het is gebruikelijk dat GitHub-opslagplaatsen een README.md bestand hebben in de hoofdmap van de opslagplaatsmap. Op dezelfde manier is het handig om de meest recente status voor verschillende werkstromen te rapporteren. Alle werkstromen kunnen een statusbadge genereren, die visueel aantrekkelijk zijn in het README.md-bestand . De badge Werkstroomstatus toevoegen:
Selecteer in de GitHub-opslagplaats de optie Actiesnavigatie .
Alle werkstromen van de opslagplaats worden aan de linkerkant weergegeven, selecteer de gewenste werkstroom en de knop met het beletselteken (...).
- Met de knop met het beletselteken (...) worden de menuopties voor de geselecteerde werkstroom uitgevouwen.
Selecteer de menuoptie Statusbadge maken.
Selecteer de markdown-knop Status kopiëren.
Plak de Markdown in het README.md bestand, sla het bestand op, voer de wijzigingen door en push deze.
Zie De badge Een werkstroomstatus toevoegen voor meer informatie.
Badge Voorbeeld van testwerkstroomstatus
Geslaagd | Mislukt | Geen status |
---|---|---|