如何为具有多个小数位的值范围编写 Pester 单元测试
How to write Pester Unit Test for ranges of values with multiple decimals
我有一个 PowerShell 函数,该函数 returns 值范围内有多个小数位。我如何为这种功能编写 Pester 单元测试。这种功能用于检查某些应用程序的版本,如 Outlook。
function randomVersion{
$randomVersion= Get-Random -InputObject '14.1.3.5397', '14.2.3.5399', '15.4.2.1327', '15.5.2.1328', '16.3.7.9437', '16.7.7.9438'
return $randomVersion
}
任何你喜欢的方式,取决于你到底想测试什么 - Pester 是 Powershell 代码,所以你可以对字符串模式进行正则表达式匹配:
randomVersion | should -Match -RegularExpression '^(14|15|16)\.[0-9]+\.[0-9]+\.[0-9]+$'
或者你可以围绕它编写更多代码来测试更多东西,例如
function randomVersion
{
Get-Random -InputObject '1', 'test', '14.1.3.5397', '14.2.3.5399', '15.4.2.1327', '15.5.2.1328', '16.3.7.9437', '16.7.7.9438'
}
Import-Module -Name Pester
Describe "Tests for randomVersion" {
It "works" {
$result = randomVersion
$version = $result -as [version]
$version | Should -not -BeNullOrEmpty
if ($version)
{
$version.Major | Should -BeIn 14, 15, 16
}
}
}
我有一个 PowerShell 函数,该函数 returns 值范围内有多个小数位。我如何为这种功能编写 Pester 单元测试。这种功能用于检查某些应用程序的版本,如 Outlook。
function randomVersion{
$randomVersion= Get-Random -InputObject '14.1.3.5397', '14.2.3.5399', '15.4.2.1327', '15.5.2.1328', '16.3.7.9437', '16.7.7.9438'
return $randomVersion
}
任何你喜欢的方式,取决于你到底想测试什么 - Pester 是 Powershell 代码,所以你可以对字符串模式进行正则表达式匹配:
randomVersion | should -Match -RegularExpression '^(14|15|16)\.[0-9]+\.[0-9]+\.[0-9]+$'
或者你可以围绕它编写更多代码来测试更多东西,例如
function randomVersion
{
Get-Random -InputObject '1', 'test', '14.1.3.5397', '14.2.3.5399', '15.4.2.1327', '15.5.2.1328', '16.3.7.9437', '16.7.7.9438'
}
Import-Module -Name Pester
Describe "Tests for randomVersion" {
It "works" {
$result = randomVersion
$version = $result -as [version]
$version | Should -not -BeNullOrEmpty
if ($version)
{
$version.Major | Should -BeIn 14, 15, 16
}
}
}