PowerShell:
Tests Schreiben
Wie:
PowerShell verfügt nicht über ein eingebautes Testframework, aber Pester, ein beliebtes Drittanbieter-Modul, wird weitgehend verwendet, um Tests zu schreiben und auszuführen. Hier erfahren Sie, wie Sie mit Pester beginnen können, um Ihre PowerShell-Funktionen zu testen.
Zuerst installieren Sie Pester, falls Sie das noch nicht getan haben:
Install-Module -Name Pester -Scope CurrentUser -ForceBetrachten Sie als nächstes eine einfache PowerShell-Funktion, die Sie testen möchten, gespeichert als MyFunction.ps1:
function Get-MultipliedNumber {
param (
[int]$Number,
[int]$Multiplier = 2
)
return $Number * $Multiplier
}Um diese Funktion mit Pester zu testen, erstellen Sie ein Testsript mit dem Namen MyFunction.Tests.ps1. In diesem Skript verwenden Sie Pestersiste Describe- und It-Blöcke, um die Testfälle zu definieren:
# Importiere die zu testende Funktion
. .\MyFunction.ps1
Describe "Get-MultipliedNumber Tests" {
It "Multipliziert Zahl mit 2, wenn kein Multiplikator angegeben wird" {
$result = Get-MultipliedNumber -Number 3
$result | Should -Be 6
}
It "Multipliziert Zahl korrekt mit gegebenem Multiplikator" {
$result = Get-MultipliedNumber -Number 3 -Multiplier 3
$result | Should -Be 9
}
}Um die Tests auszuführen, öffnen Sie PowerShell, navigieren zum Verzeichnis, das Ihr Testskript enthält, und verwenden den Befehl Invoke-Pester:
Invoke-Pester .\MyFunction.Tests.ps1Eine beispielhafte Ausgabe sieht folgendermaßen aus und zeigt an, ob Ihre Tests bestanden oder fehlgeschlagen sind:
Starte Entdeckung in 1 Dateien.
Entdeckung abgeschlossen in 152ms.
[+] C:\Pfad\zu\MyFunction.Tests.ps1 204ms (182ms|16ms)
Tests abgeschlossen in 204ms
Tests Bestanden: 2, Fehlgeschlagen: 0, Übersprungen: 0 NichtGelaufen: 0Diese Ausgabe zeigt, dass beide Tests bestanden haben und gibt Ihnen die Sicherheit, dass Ihre Get-MultipliedNumber-Funktion unter den getesteten Szenarien wie erwartet funktioniert.