Как написать тесты Пестера для моей функции PowerShell - PullRequest
0 голосов
/ 21 мая 2019

У меня есть следующая функция: Для этой функции мне необходимо написать код Пестера, который будет иметь 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 голосов
/ 21 мая 2019

В этом случае вам просто нужно убедиться, что -input_str содержит указанное -delimiter и весь ваш код покрыт.Вы можете сохранить указанный случай, если -input_str не содержит указанного -delimiter, чтобы проверить крайний случай (который, кстати, не получится, потому что $out останется $null).

...