PowerShell:
Testien kirjoittaminen

Miten:

PowerShell ei sisällä sisäänrakennettua testauskehystä, mutta Pester, suosittu kolmannen osapuolen moduuli, on laajalti käytetty testien kirjoittamiseen ja suorittamiseen. Näin pääset alkuun Pesterin kanssa testataksesi PowerShell-funktioitasi.

Ensin, asenna Pester, jos et ole vielä tehnyt niin:

Install-Module -Name Pester -Scope CurrentUser -Force

Seuraavaksi, oletetaan että sinulla on yksinkertainen PowerShell-funktio, jonka haluat testata, tallennettuna nimellä MyFunction.ps1:

function Get-MultipliedNumber {
    param (
        [int]$Number,
        [int]$Multiplier = 2
    )

    return $Number * $Multiplier
}

Testataksesi tätä funktiota Pesterin avulla, luo testiskripti nimeltä MyFunction.Tests.ps1. Tässä skriptissä, käytä Pesterin Describe ja It lohkoja määritelläksesi testitapaukset:

# Tuo testattava funktio
. .\MyFunction.ps1

Describe "Get-MultipliedNumber tests" {
    It "Kertoo numeron kahdella, kun kertojaa ei ole annettu" {
        $result = Get-MultipliedNumber -Number 3
        $result | Should -Be 6
    }

    It "Kertoo numeron oikein annetulla kertojalla" {
        $result = Get-MultipliedNumber -Number 3 -Multiplier 3
        $result | Should -Be 9
    }
}

Testien suorittamiseksi, avaa PowerShell, siirry hakemistoon, jossa testiskriptisi sijaitsee, ja käytä Invoke-Pester komentoa:

Invoke-Pester .\MyFunction.Tests.ps1

Esimerkkituloste näyttää tältä, ilmaisten onko testisi läpäisseet vai epäonnistuneet:

Starting discovery in 1 files.
Discovery finished in 152ms.
[+] C:\polku\to\MyFunction.Tests.ps1 204ms (182ms|16ms)
Tests completed in 204ms
Tests Passed: 2, Failed: 0, Skipped: 0 NotRun: 0

Tämä tuloste osoittaa, että molemmat testit ovat läpäisseet, antaen sinulle varmuuden siitä, että Get-MultipliedNumber funktiosi toimii odotetusti testaamissasi skenaarioissa.