Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве вы узнаете, как создать рабочий процесс GitHub для тестирования исходного кода .NET. Автоматизированное тестирование вашего .NET кода в GitHub называется непрерывной интеграцией (CI), когда запросы на вытягивание или изменения в исходном коде запускают рабочие процессы для выполнения тестов или задач. Наряду с созданием исходного кода, тестирование гарантирует, что скомпилированный исходный код функционирует так, как задумал автор. Чаще всего модульные тесты служат в качестве немедленного цикла обратной связи, чтобы обеспечить допустимость изменений в исходном коде.
Предпосылки
- Учетная запись GitHub.
- Репозиторий исходного кода .NET.
Создание файла рабочего процесса
В репозитории GitHub добавьте новый ФАЙЛ YAML в каталог github/workflows . Выберите понятное имя файла, которое четко указывает, что рабочий процесс предназначен для выполнения. Дополнительные сведения см. в файле рабочего процесса.
Это важно
GitHub требует, чтобы файлы композиции рабочих процессов размещались в каталоге github/workflows .
Файлы рабочих процессов обычно определяют композицию одной или нескольких GitHub действий с помощью jobs.<job_id>/steps[*]
. Дополнительные сведения см. в синтаксисе рабочего процесса для GitHub Actions.
Создайте файл с именем build-and-test.yml, скопируйте и вставьте в него следующее содержимое 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
В приведенной выше композиции рабочего процесса:
Определённое имя, «сборка и проверка», будет отображаться в значках статуса рабочего процесса.
name: build and test
Узел
on
обозначает события, которые активируют рабочий процесс:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- Активируется, когда происходит
push
илиpull_request
на веткеmain
, где изменились файлы, заканчивающиеся на расширения .cs или .csproj.
- Активируется, когда происходит
Узел
env
определяет именованные переменные среды (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
- Переменная
DOTNET_VERSION
среды присваивается значению'6.0.401'
. Позже переменная среды используется для указанияdotnet-version
actions/setup-dotnet@v3
действия GitHub.
- Переменная
Узел
jobs
создает шаги для выполнения рабочего процесса.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
- Существует одно задание с именем
build-<os>
, где<os>
является названием операционной системы изstrategy/matrix
. Элементыname
иruns-on
являются динамичными для каждого значения в элементеmatrix/os
. Это будет работать в последних версиях Ubuntu, Windows и macOS. - Действие
actions/setup-dotnet@v3
GitHub используется для настройки SDK .NET с версией, указанной в переменной средыDOTNET_VERSION
. - Вызывается
dotnet restore
команда. - Команда
dotnet build
вызывается. - Команда
dotnet test
вызывается.
- Существует одно задание с именем
Создание индикатора состояния рабочего процесса
В репозиториях GitHub обычно используется файл README.md в корне каталога репозитория. Аналогичным образом, приятно сообщить об актуальном статусе различных рабочих процессов. Все рабочие процессы могут создать значок состояния, который визуально привлекательный в файле README.md . Чтобы добавить значок состояния рабочего процесса, выполните следующие действия.
В репозитории GitHub выберите параметр навигации Actions .
Все рабочие процессы репозитория отображаются слева, выберите нужный рабочий процесс и кнопку с многоточием (...).
- Кнопка с многоточием (...) расширяет параметры меню для выбранного рабочего процесса.
Выберите пункт меню " Создать индикатор состояния ".
Нажмите кнопку "Скопировать Markdown значка состояния".
Вставьте Markdown в файл README.md , сохраните файл, зафиксируйте и отправьте изменения.
Дополнительные сведения см. в разделе "Добавление индикатора состояния рабочего процесса".
Пример индикатора состояния тестового рабочего процесса
Прохождение | Неудача | Нет статуса |
---|---|---|
|
|
|
См. также
- dotnet restore
- dotnet build
- dotnet test
- Приложения .NET для модульного тестирования
- actions/checkout
- actions/setup-dotnet