Hızlı Başlangıç: Test doğrulama GitHub iş akışı oluşturma
Bu hızlı başlangıçta.NET kaynak kodunuzu test etmek için GitHub iş akışı oluşturmayı öğreneceksiniz. .NET kodunuzu GitHub'da otomatik olarak test etmek, çekme isteklerinin veya kaynak tetikleyici iş akışlarında yapılan değişikliklerin alıştırma yaptığı sürekli tümleştirme (CI) olarak adlandırılır. Test, kaynak kodu oluşturmanın yanı sıra derlenen kaynak kodunun yazarın istediği gibi çalıştığından emin olur. Birim testleri, kaynak kodda yapılan değişikliklerin geçerliliğini sağlamaya yardımcı olmak için çoğu zaman anında geri bildirim döngüsü görevi görür.
Önkoşullar
- Bir GitHub hesabı.
- .NET kaynak kodu deposu.
İş akışı dosyası oluşturma
GitHub deposunda,.github/workflows dizinine yeni bir YAML dosyası ekleyin. İş akışının amacını açıkça gösterecek anlamlı bir dosya adı seçin. Daha fazla bilgi için bkz . İş akışı dosyası.
Önemli
GitHub, iş akışı oluşturma dosyalarının .github/workflows dizinine yerleştirilmesini gerektirir.
İş akışı dosyaları genellikle aracılığıyla bir veya daha fazla GitHub Eyleminin bileşimini jobs.<job_id>/steps[*]
tanımlar. Daha fazla bilgi için bkz . GitHub Actions için iş akışı söz dizimi.
build-and-test.yml adlı yeni bir dosya oluşturun, aşağıdaki YML içeriğini kopyalayıp içine yapıştırın:
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
Önceki iş akışı bileşiminde:
name: build and test
, iş akışı durumu rozetlerinde "derleme ve test" adını tanımlar.name: build and test
Düğüm,
on
iş akışını tetikleyen olayları gösterir:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- .cs veya .csproj dosya uzantılarıylabiten dosyaların değiştiği dalda
main
veyapush
oluştuğunda tetiklenen.pull_request
- .cs veya .csproj dosya uzantılarıylabiten dosyaların değiştiği dalda
Düğüm,
env
adlandırılmış ortam değişkenlerini (env var) tanımlar.env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
- Ortam değişkenine
DOTNET_VERSION
değeri'6.0.401'
atanır. Ortam değişkenine daha sonra GitHub Eyleminindotnet-version
actions/setup-dotnet@v3
belirtilmesi için başvurulur.
- Ortam değişkenine
Düğüm,
jobs
iş akışının atılması gereken adımları oluşturur.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
- adlı tek bir iş
build-<os>
vardır ve burada<os>
işletim sistemi adıdırstrategy/matrix
.name
veruns-on
öğeleri içindeki her değer için dinamiktirmatrix/os
. Bu, Ubuntu, Windows ve macOS'un en son sürümlerinde çalışır. actions/setup-dotnet@v3
GitHub Eylemi, .NET SDK'sını ortam değişkenindenDOTNET_VERSION
belirtilen sürümle ayarlamak için kullanılır.dotnet restore
komutu çağrılır.dotnet build
komutu çağrılır.dotnet test
komutu çağrılır.
- adlı tek bir iş
İş akışı durumu oluşturma rozeti
GitHub depolarının, depo dizininin kökünde bir README.md dosyası olması yaygın bir sıfattır. Benzer şekilde, çeşitli iş akışları için en son durumu bildirmek de güzeldir. Tüm iş akışları, README.md dosyasında görsel olarak çekici olan bir durum rozeti oluşturabilir. İş akışı durumu rozetini eklemek için:
GitHub deposundan Eylemler gezinti seçeneğini belirleyin.
Tüm depo iş akışları sol tarafta görüntülenir, istediğiniz iş akışını ve üç nokta (...) düğmesini seçin.
- Üç nokta (...) düğmesi, seçili iş akışı için menü seçeneklerini genişletir.
Durum oluştur rozet menü seçeneğini belirleyin.
Durumu kopyala rozeti Markdown düğmesini seçin.
Markdown'ı README.md dosyasına yapıştırın, dosyayı kaydedin, işleyin ve değişiklikleri gönderin.
Daha fazla bilgi için bkz . İş akışı durumu ekleme rozeti.
Örnek test iş akışı durumu rozeti
Geçir -erek | Başarısız | Durum yok |
---|---|---|
Ayrıca bkz.
- dotnet restore
- dotnet build
- dotnet test
- Birim testi .NET uygulamaları
- eylemler/kullanıma alma
- actions/setup-dotnet