PowerShell:
Skriva tester
Hur man gör:
PowerShell har inte ett inbyggt testramverk, men Pester, en populär tredjepartsmodul, används ofta för att skriva och köra tester. Så här kommer du igång med Pester för att testa dina PowerShell-funktioner.
Först, installera Pester om du inte redan har gjort det:
Install-Module -Name Pester -Scope CurrentUser -Force
Nästa, anta att du har en enkel PowerShell-funktion du vill testa, sparad som MyFunction.ps1
:
function Get-MultipliedNumber {
param (
[int]$Number,
[int]$Multiplier = 2
)
return $Number * $Multiplier
}
För att testa den här funktionen med Pester, skapa ett testskript med namnet MyFunction.Tests.ps1
. I detta skript, använd Pesters Describe
och It
block för att definiera testfallen:
# Importera funktionen som ska testas
. .\MyFunction.ps1
Describe "Get-MultipliedNumber tester" {
It "Multiplicerar tal med 2 när ingen multiplikator ges" {
$result = Get-MultipliedNumber -Number 3
$result | Should -Be 6
}
It "Multiplicerar korrekt tal med angiven multiplikator" {
$result = Get-MultipliedNumber -Number 3 -Multiplier 3
$result | Should -Be 9
}
}
För att köra testerna, öppna PowerShell, navigera till katalogen som innehåller ditt testskript, och använd kommandot Invoke-Pester
:
Invoke-Pester .\MyFunction.Tests.ps1
Exempelutmatning kommer se ut så här, vilket indikerar om dina tester har passerat eller misslyckats:
Starting discovery in 1 files.
Discovery finished in 152ms.
[+] C:\path\till\MyFunction.Tests.ps1 204ms (182ms|16ms)
Tester slutförda på 204ms
Tester Passerade: 2, Misslyckades: 0, Hoppade över: 0 EjKörda: 0
Denna utmatning visar att båda testerna har passerat, vilket ger dig förtroende för att din Get-MultipliedNumber
funktion beter sig som förväntat under de scenarier du har testat.