如何为我的PowerShell函数编写Pester测试

时间:2019-05-21 08:57:15

标签: powershell powershell-v3.0

我具有以下功能: 为此功能,我需要编写一个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"
  }
}

1 个答案:

答案 0 :(得分:0)

在这种情况下,您只需要确保-input_str包含指定的-delimiter并覆盖所有代码即可。如果-input_str不包含指定的-delimiter,则可以保留陈述的大小写,以测试边缘情况(顺便失败,因为$out将保留$null )。