Snabbstart: Skapa ett GitHub-arbetsflöde för testverifiering
I den här snabbstarten får du lära dig hur du skapar ett GitHub-arbetsflöde för att testa din .NET-källkod. Att automatiskt testa .NET-koden i GitHub kallas kontinuerlig integrering (CI), där pull-begäranden eller ändringar i arbetsflödena för källutlösare ska användas. Tillsammans med att skapa källkoden säkerställer testningen att den kompilerade källkoden fungerar som författaren avsåg. Oftast fungerar enhetstester som en omedelbar feedbackloop för att säkerställa giltigheten för ändringar i källkoden.
Förutsättningar
- Ett GitHub-konto.
- En .NET-källkodslagringsplats.
Skapa en arbetsflödesfil
På GitHub-lagringsplatsen lägger du till en ny YAML-fil i katalogen .github/workflows . Välj ett meningsfullt filnamn, något som tydligt anger vad arbetsflödet är avsett att göra. Mer information finns i Arbetsflödesfil.
Viktigt!
GitHub kräver att arbetsflödets sammansättningsfiler placeras i katalogen .github/workflows .
Arbetsflödesfiler definierar vanligtvis en sammansättning av en eller flera GitHub-åtgärder via jobs.<job_id>/steps[*]
. Mer information finns i Arbetsflödessyntax för GitHub Actions.
Skapa en ny fil med namnet build-and-test.yml, kopiera och klistra in följande YML-innehåll i den:
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
I föregående arbetsflödessammansättning:
Definierar
name: build and test
namnet, "build and test" visas i statusmärken för arbetsflödet.name: build and test
Noden
on
anger de händelser som utlöser arbetsflödet:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- Utlöses när en
push
ellerpull_request
inträffar på grenenmain
där alla filer som ändrats slutar med filnamnstilläggen .cs eller .csproj .
- Utlöses när en
Noden
env
definierar namngivna miljövariabler (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
- Miljövariabeln
DOTNET_VERSION
tilldelas värdet'6.0.401'
. Miljövariabeln refereras senare till för att angedotnet-version
actions/setup-dotnet@v3
GitHub-åtgärden.
- Miljövariabeln
Noden
jobs
skapar de steg som arbetsflödet ska utföra.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
- Det finns ett enda jobb med namnet
build-<os>
där<os>
är operativsystemets namn frånstrategy/matrix
. Elementenname
ochruns-on
är dynamiska för varje värde imatrix/os
. Detta körs på de senaste versionerna av Ubuntu, Windows och macOS. - GitHub-åtgärden
actions/setup-dotnet@v3
används för att konfigurera .NET SDK med den angivna versionen frånDOTNET_VERSION
miljövariabeln. - Kommandot
dotnet restore
anropas. - Kommandot
dotnet build
anropas. - Kommandot
dotnet test
anropas.
- Det finns ett enda jobb med namnet
Skapa ett statusmärke för arbetsflödet
Det är vanligt att GitHub-lagringsplatser har en README.md fil i roten i lagringsplatsens katalog. På samma sätt är det bra att rapportera den senaste statusen för olika arbetsflöden. Alla arbetsflöden kan generera ett statusmärke som är visuellt tilltalande i README.md-filen . Så här lägger du till statusikonen för arbetsflödet:
Från GitHub-lagringsplatsen väljer du navigeringsalternativet Åtgärder .
Alla arbetsflöden för lagringsplatser visas till vänster, välj önskat arbetsflöde och ellipsknappen (...).
- Ellipsknappen (...) expanderar menyalternativen för det valda arbetsflödet.
Välj menyalternativet Skapa statusikon .
Välj knappen Kopiera statusikonen Markdown.
Klistra in Markdown i filen README.md , spara filen, checka in och push-överföra ändringarna.
Mer information finns i Lägga till ett statusmärke för arbetsflödet.
Exempel på statusmärke för testarbetsflöde
Passerar | Misslyckas | Ingen status |
---|---|---|
Se även
- dotnet-återställning
- dotnet build
- dotnet-test
- Enhetstestning av .NET-appar
- åtgärder/utcheckning
- actions/setup-dotnet