PowerShell:
Skrive tester
Hvordan:
PowerShell har ikke et innebygd testrammeverk, men Pester, en populær tredjepartsmodul, brukes mye til å skrive og kjøre tester. Her er hvordan du kommer i gang med Pester for å teste dine PowerShell-funksjoner.
Først, installer Pester hvis du ikke allerede har gjort det:
Install-Module -Name Pester -Scope CurrentUser -Force
Deretter, anta at du har en enkel PowerShell-funksjon du vil teste, lagret som MyFunction.ps1
:
function Get-MultipliedNumber {
param (
[int]$Number,
[int]$Multiplier = 2
)
return $Number * $Multiplier
}
For å teste denne funksjonen med Pester, opprett et testsikript med navnet MyFunction.Tests.ps1
. I dette skriptet, bruk Pesters Describe
og It
blokker for å definere testtilfellene:
# Importer funksjonen som skal testes
. .\MyFunction.ps1
Describe "Get-MultipliedNumber tester" {
It "Multipliserer tall med 2 når ingen multiplikator er oppgitt" {
$result = Get-MultipliedNumber -Number 3
$result | Should -Be 6
}
It "Multipliserer korrekt tall med gitt multiplikator" {
$result = Get-MultipliedNumber -Number 3 -Multiplier 3
$result | Should -Be 9
}
}
For å kjøre testene, åpne PowerShell, naviger til katalogen som inneholder testskriptet ditt, og bruk kommandoen Invoke-Pester
:
Invoke-Pester .\MyFunction.Tests.ps1
Eksempelutdata vil se slik ut, og indikerer om testene dine besto eller feilet:
Starter oppdagelse i 1 filer.
Oppdagelse fullført på 152ms.
[+] C:\sti\til\MyFunction.Tests.ps1 204ms (182ms|16ms)
Tester fullført på 204ms
Tester Bestått: 2, Feilet: 0, Hoppet over: 0 IkkeKjørt: 0
Denne utdataen viser at begge testene ble bestått, noe som gir deg tillit til at din Get-MultipliedNumber
funksjon oppfører seg som forventet under scenariene du har testet.