Szybki start: tworzenie przepływu pracy github weryfikacji testu
W tym przewodniku Szybki start dowiesz się, jak utworzyć przepływ pracy usługi GitHub w celu przetestowania kodu źródłowego platformy .NET. Automatyczne testowanie kodu platformy .NET w usłudze GitHub jest określane jako ciągła integracja, gdzie żądania ściągnięcia lub zmiany w przepływach pracy wyzwalacza źródłowego do wykonania. Oprócz kompilowania kodu źródłowego testowanie gwarantuje, że skompilowany kod źródłowy będzie działał jako zamierzony przez autora. Częściej niż nie, testy jednostkowe służą jako natychmiastowa pętla opinii, aby zapewnić poprawność zmian w kodzie źródłowym.
Wymagania wstępne
- Konto usługi GitHub.
- Repozytorium kodu źródłowego platformy .NET.
Tworzenie pliku przepływu pracy
W repozytorium GitHub dodaj nowy plik YAML do katalogu .github/workflows . Wybierz zrozumiałą nazwę pliku, co wyraźnie wskaże, co ma zrobić przepływ pracy. Aby uzyskać więcej informacji, zobacz Plik przepływu pracy.
Ważne
Usługa GitHub wymaga, aby pliki kompozycji przepływu pracy zostały umieszczone w katalogu .github/workflows .
Pliki przepływu pracy zwykle definiują kompozycję co najmniej jednej akcji usługi GitHub za pośrednictwem elementu jobs.<job_id>/steps[*]
. Aby uzyskać więcej informacji, zobacz Składnia przepływu pracy dla funkcji GitHub Actions.
Utwórz nowy plik o nazwie build-and-test.yml, skopiuj i wklej do niego następującą zawartość YML:
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
W poprzedniej kompozycji przepływu pracy:
Definiuje
name: build and test
nazwę "kompilacja i testowanie" będzie wyświetlana na wskaźnikach stanu przepływu pracy.name: build and test
Węzeł
on
oznacza zdarzenia, które wyzwalają przepływ pracy:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- Wyzwalany, gdy element
push
lub występuje wmain
gałęzi, w której wszystkie pliki uległy zmianie kończące się rozszerzeniami plików .cs lub csprojpull_request
.
- Wyzwalany, gdy element
Węzeł
env
definiuje nazwane zmienne środowiskowe (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
- Zmienna środowiskowa
DOTNET_VERSION
ma przypisaną wartość'6.0.401'
. Później odwołuje się do zmiennej środowiskowejactions/setup-dotnet@v3
w celu określeniadotnet-version
akcji usługi GitHub.
- Zmienna środowiskowa
Węzeł
jobs
tworzy kroki, które należy wykonać przez przepływ pracy.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
- Istnieje jedno zadanie o nazwie
build-<os>
, gdzie<os>
jest nazwą systemu operacyjnego zstrategy/matrix
.name
Elementy iruns-on
są dynamiczne dla każdej wartości w obiekciematrix/os
. Zostanie to uruchomione w najnowszych wersjach systemów Ubuntu, Windows i macOS. - Akcja
actions/setup-dotnet@v3
usługi GitHub służy do konfigurowania zestawu .NET SDK z określoną wersją ze zmiennej środowiskowejDOTNET_VERSION
. - Polecenie
dotnet restore
jest wywoływane. - Polecenie
dotnet build
jest wywoływane. - Polecenie
dotnet test
jest wywoływane.
- Istnieje jedno zadanie o nazwie
Znaczek Tworzenie stanu przepływu pracy
Popularną nomenklaturą repozytoriów GitHub jest posiadanie pliku README.md w katalogu głównym katalogu repozytorium. Podobnie warto zgłosić najnowszy stan dla różnych przepływów pracy. Wszystkie przepływy pracy mogą wygenerować wskaźnik stanu, który jest wizualnie atrakcyjny w pliku README.md . Aby dodać wskaźnik stanu przepływu pracy:
W repozytorium GitHub wybierz opcję nawigacji Akcje .
Wszystkie przepływy pracy repozytorium są wyświetlane po lewej stronie, wybierz żądany przepływ pracy i przycisk wielokropka (...).
- Przycisk wielokropka (...) rozwija opcje menu dla wybranego przepływu pracy.
Wybierz opcję menu Znaczek Utwórz stan.
Wybierz przycisk Znaczek Stan kopiowania markdown .
Wklej znacznik Markdown do pliku README.md , zapisz plik, zatwierdź i wypchnij zmiany.
Aby uzyskać więcej informacji, zobacz Dodawanie wskaźnika stanu przepływu pracy.
Przykładowy wskaźnik stanu testu przepływu pracy
Zaliczone | Niepowodzenie | Brak stanu |
---|---|---|
Zobacz też
- dotnet restore
- dotnet build
- dotnet test
- Testowanie jednostkowe aplikacji .NET
- akcje/wyewidencjonuj
- actions/setup-dotnet