PowerShell:
การเขียนการทดสอบ
วิธีทำ:
PowerShell ไม่มีเฟรมเวิร์กทดสอบในตัว แต่ Pester ซึ่งเป็นโมดูลจากบุคคลที่สามที่ได้รับความนิยมอย่างกว้างขวาง ถูกใช้สำหรับการเขียนและการทำงานของการทดสอบ นี่คือวิธีเริ่มต้นใช้งาน Pester สำหรับการทดสอบฟังก์ชัน PowerShell ของคุณ
ก่อนอื่น ติดตั้ง Pester หากคุณยังไม่ได้ติดตั้ง:
Install-Module -Name Pester -Scope CurrentUser -Force
จากนั้น พิจารณาว่าคุณมีฟังก์ชัน PowerShell ที่ง่ายที่คุณต้องการทดสอบ ซึ่งบันทึกไว้เป็น MyFunction.ps1
:
function Get-MultipliedNumber {
param (
[int]$Number,
[int]$Multiplier = 2
)
return $Number * $Multiplier
}
เพื่อทดสอบฟังก์ชันนี้ด้วย Pester ให้สร้างสคริปต์ทดสอบชื่อว่า MyFunction.Tests.ps1
ในสคริปต์นี้ ใช้บล็อก Describe
และ It
ของ Pester เพื่อกำหนดกรณีทดสอบ:
# นำเข้าฟังก์ชันที่จะทดสอบ
. .\MyFunction.ps1
Describe "ทดสอบ Get-MultipliedNumber" {
It "คูณเลขด้วย 2 เมื่อไม่ได้ให้ตัวคูณ" {
$result = Get-MultipliedNumber -Number 3
$result | Should -Be 6
}
It "คูณเลขด้วยตัวคูณที่ได้รับอย่างถูกต้อง" {
$result = Get-MultipliedNumber -Number 3 -Multiplier 3
$result | Should -Be 9
}
}
เพื่อทำการทดสอบ ให้เปิด PowerShell นำทางไปยังไดเรกทอรี่ที่มีสคริปต์ทดสอบของคุณ และใช้คำสั่ง Invoke-Pester
:
Invoke-Pester .\MyFunction.Tests.ps1
ผลลัพธ์ตัวอย่างจะแสดงออกมาเช่นนี้ ชี้ว่าการทดสอบของคุณผ่านหรือไม่ผ่าน:
เริ่มต้นการค้นหาใน 1 ไฟล์
การค้นหาเสร็จสิ้นใน 152ms
[+] C:\path\to\MyFunction.Tests.ps1 204ms (182ms|16ms)
การทดสอบเสร็จสิ้นใน 204ms
การทดสอบผ่าน: 2, ไม่ผ่าน: 0, ข้าม: 0 ไม่ได้ทำ: 0
ผลลัพธ์นี้แสดงว่าทั้งสองการทดสอบผ่าน ให้ความมั่นใจว่าฟังก์ชัน Get-MultipliedNumber
ของคุณทำงานตามที่คาดหวังในสถานการณ์ที่คุณทดสอบ