Closed Infarh closed 1 year ago
Примерный алгоритм:
Выбрать обычный .NET проект
Пока нет WPF-проекта, можно обойтись простым скриптом
name: merge_test
on: push: branches: [ "dev" ]
jobs: build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
#извлечение репозиторя в бегун
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
#Загрузка среды Dotnet 6
- name: Restore dependencies
run: dotnet restore
#Восстановление зависимостей для проекта
- name: Build
run: dotnet build
# Сборка проекта и все его зависимости (отключенние воостановление зависимостей проекта --no-restore)
- name: Test
# Запуск стандартных модульных тестов для всего проекта
run: dotnet test --no-build --verbosity normal
#Запуск тестов из проекта (Test папка в проекте)
- name: TestSciMaterials
run: dotnet test Tests -c Release --nologo --no-build
SciMaterials/.github/workflows/dotnet.yml
Для автоматизации сборки в git !
Понятно что проект будет собиратся при merge в ветку dev .
Но как будут проводится тесты описанные в проекте - не понятно.
name: merge_test
on: push: branches: [ "dev" ]
jobs: build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
#извлечение репозиторя в бегун
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
#Загрузка среды Dotnet 6
- name: Restore dependencies
run: dotnet restore
# загрузка nuget пакетов
- name: Install dependencies
- run: dotnet add package AutoMapper --version 12.0.0
- run: dotnet add package Microsoft.Extensions.DependencyInjection --version 12.0.0
- run: dotnet add package Blazored.LocalStorage --version 4.2.0
- run: dotnet add package bunit --version 1.10.14
- run: dotnet add package coverlet.collector --version 3.1.2
- run: dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer --version 6.0.9
- run: dotnet add package Microsoft.AspNetCore.Components.WebAssembly --version 6.0.9
- run: dotnet add package Microsoft.AspNetCore.Components.WebAssembly.Authentication --version 6.0.9
- run: dotnet add package Microsoft.AspNetCore.Components.WebAssembly.DevServer --version 6.0.9
- run: dotnet add package Microsoft.AspNetCore.Components.WebAssembly.Server --version 6.0.9
- run: dotnet add package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore --version 6.0.9
- run: dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore --version 6.0.9
- run: dotnet add package Microsoft.AspNetCore.Identity.UI --version 6.0.9
- run: dotnet add package Microsoft.AspNetCore.Mvc.Testing --version 6.0.9
- run: dotnet add package Microsoft.EntityFrameworkCore --version 6.9.0
- run: dotnet add package Microsoft.EntityFrameworkCore.Design --version 6.0.9
- run: dotnet add package Microsoft.EntityFrameworkCore.InMemory --version 6.0.9
- run: dotnet add package Microsoft.EntityFrameworkCore.Sqlite --version 6.0.9
- run: dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 6.0.9
- run: dotnet add package Microsoft.EntityFrameworkCore.Tools --version 6.0.9
- run: dotnet add package Microsoft.Extensions.Configuration.UserSecrets --version 6.0.1
- run: dotnet add package Microsoft.Extensions.DependencyInjection --version 6.0.0
- run: dotnet add package Microsoft.Extensions.Hosting --version 6.0.1
- run: dotnet add Microsoft.Extensions.Http --version 6.0.0
- run: dotnet add Microsoft.Extensions.Logging.Abstractions --version 6.0.2
- run: dotnet add Microsoft.NET.Test.Sdk --version 17.3.2
- run: dotnet add Moq --version 4.18.2
- run: dotnet add MudBlazor --version 6.0.17
- run: dotnet add Newtonsoft.Json --version 13.0.1
- run: dotnet add NLog --version 5.0.4
- run: dotnet add Npgsql.EntityFrameworkCore.PostgreSQL --version 6.0.7
- run: dotnet add Pomelo.EntityFrameworkCore.MySql --version 6.0.2
- run: dotnet add Swashbuckle.AspNetCore --version 6.4.0
- run: dotnet add System.IdentityModel.Tokens.Jwt --version 6.23.1
- run: dotnet add System.Net.Http.Json --version 6.0.0
- run: dotnet add xunit --version 2.4.2
- run: dotnet add xunit.runner.visualstudio --version 2.4.5
#Восстановление зависимостей для проекта
- name: Build
run: dotnet build
# Сборка проекта и все его зависимости (отключенние воостановление зависимостей проекта --no-restore)
- name: Test
# Запуск стандартных модульных тестов для всего проекта
run: dotnet test --no-build --verbosity normal
#Запуск тестов из проекта (Test папка в проекте)
- name: TestSciMaterials
run: dotnet test Tests -c Release --nologo --no-build
Автоматизация запуска компиляции и модульного тестирования работает.
Требуется сконфигурировать сценарий автоматизации компиляции и запуска модульных тестов на GitHub