我具有以下功能: 为此功能,我需要编写一个Pester代码,覆盖率100%。
function buildFilterString {
[CmdletBinding()]
param (
[string] $input_str,
[char] $delimiter
)
$out = $null
$input_str -split $delimiter | ForEach-Object {
$item = $_
$out += "'" + $item + "',"
}
$out.Substring(0,$out.Length-1)
}
据我了解,测试应该看起来像这样,但是我不确定如何在测试中编写“不同的案例”。
$moduleRoot = Resolve-Path "$PSScriptRoot\.."
$moduleName = Split-Path $moduleRoot -Leaf
$cred = Get-Credential
Describe "Demonstarting Code Coverage of: $moduleName" {
It "Calls Function: builedFilterString" {
{buildFilterString -input_str "happy" -delimiter ';'} | Should Be
"happy"
}
}
答案 0 :(得分:0)
在这种情况下,您只需要确保-input_str
包含指定的-delimiter
并覆盖所有代码即可。如果-input_str
不包含指定的-delimiter
,则可以保留陈述的大小写,以测试边缘情况(顺便失败,因为$out
将保留$null
)。