Rövid útmutató: Tesztérvényesítési GitHub-munkafolyamat létrehozása

Ebben a rövid útmutatóban megtudhatja, hogyan hozhat létre GitHub-munkafolyamatot a .NET-forráskód teszteléséhez. A .NET-kód GitHubon belüli automatikus tesztelését folyamatos integrációnak (CI) nevezzük, ahol a lekéréses kérelmek vagy a forrásindító munkafolyamatainak módosítása gyakorolható. A forráskód létrehozása mellett a tesztelés biztosítja, hogy a lefordított forráskód a szerző szándékának megfelelően működjön. Az egységtesztek gyakran azonnali visszajelzési ciklusként szolgálnak, hogy biztosítsák a forráskód módosításainak érvényességét.

Előfeltételek

  • Egy GitHub-fiók.
  • .NET-forráskódtár.

Munkafolyamat-fájl létrehozása

A GitHub-adattárban adjon hozzá egy új YAML-fájlt a .github/workflows könyvtárhoz. Válasszon egy értelmezhető fájlnevet, amely egyértelműen jelzi a munkafolyamat célját. További információ: Munkafolyamat-fájl.

Fontos

A GitHub megköveteli, hogy a munkafolyamat-összeállítási fájlokat a .github/workflows könyvtárba kell helyezni.

A munkafolyamat-fájlok általában egy vagy több GitHub-művelet összetételét határozzák meg a jobs.<job_id>/steps[*]. További információ: A GitHub Actions munkafolyamat-szintaxisa.

Hozzon létre egy build-and-test.yml nevű új fájlt, másolja és illessze be a következő YML-tartalmat:

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

Az előző munkafolyamat-összeállításban:

  • A name: build and test "build and test" név a munkafolyamat állapotjelvényeiben jelenik meg.

    name: build and test
    
  • A on csomópont a munkafolyamatot kiváltó eseményeket jelöli:

    on:
      push:
      pull_request:
        branches: [ main ]
        paths:
        - '**.cs'
        - '**.csproj'
    
    • Akkor aktiválódik, amikor egy push vagy pull_request több olyan ág jelenik meg, main amelyben a fájlok a .cs vagy a .csproj fájlkiterjesztéssel végződnek.
  • A env csomópont nevesített környezeti változókat (env var) határoz meg.

    env:
      DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
    
    • A környezeti változóhoz DOTNET_VERSION hozzá van rendelve az érték '6.0.401'. A környezeti változóra később hivatkozunk a dotnet-versionactions/setup-dotnet@v3 GitHub-művelet megadásához.
  • A jobs csomópont összeállítja a munkafolyamat lépéseit.

    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
    
    • Egyetlen feladat van elnevezve build-<os> , ahol az <os> operációs rendszer neve szerepel a strategy/matrix. Az name elemek és runs-on az elemek dinamikusak a matrix/os. Ez az Ubuntu, a Windows és a macOS legújabb verzióin fog futni.
    • A actions/setup-dotnet@v3 GitHub-művelet a .NET SDK beállítására szolgál a környezeti változó megadott verziójával DOTNET_VERSION .
    • A dotnet restore parancs meghívása.
    • A dotnet build parancs meghívása.
    • A dotnet test parancs meghívása.

Munkafolyamat állapotjelvényének létrehozása

A GitHub-adattárak általános elnevezése, hogy egy README.md fájl található az adattár könyvtárának gyökerében. Hasonlóképpen, jó, ha a különböző munkafolyamatok legújabb állapotát jelenti. Minden munkafolyamat létrehozhat egy állapotjelvényt, amely vizuálisan vonzó a README.md fájlban. A munkafolyamat állapotjelvényének hozzáadása:

  1. A GitHub-adattárban válassza a Műveletek navigációs lehetőséget.

  2. Az összes adattár-munkafolyamat megjelenik a bal oldalon, válassza ki a kívánt munkafolyamatot és a három pont (...) gombot.

    • A három pont (...) gomb kibontja a kijelölt munkafolyamat menübeállításait.
  3. Válassza az Állapotjelvény létrehozása menüt.

    GitHub: Create status badge

  4. Válassza a Másolás állapotjelvény Markdown gombját.

    GitHub: Copy status badge Markdown

  5. Illessze be a Markdownt a README.md fájlba, mentse a fájlt, véglegesítse és küldje el a módosításokat.

További információ: Munkafolyamat-állapotjelvény hozzáadása.

Példa a munkafolyamat állapotjelvényének tesztelése

Elhaladó Sikertelen Nincs állapot
GitHub: test passing badge GitHub: test failing badge GitHub: test no-status badge

Lásd még

Következő lépések