Тестирование Pester PowerShell для примера скрипта не работает должным образом

Привет всем, я написал пример сценария, чтобы определить, является ли данная строка палиндромом или нет, как показано ниже.

function Palindrome1([string] $param)
{
  [string] $ReversString
  $StringLength = @()

  $StringLength = $param.Length

  while ( $StringLength -ge 0 )
 {
    $ReversString = $ReversString + $param[$StringLength]
    $StringLength--
 }    

 if($ReversString -eq $param)
 {
    return $true
 }
else
{
    return $false
}
}

А это мой .tests.ps1

$here = Split-Path -Parent $MyInvocation.MyCommand.Path
$sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path) -replace '\.Tests\.', '.'
. "$here\$sut"

Describe "Palindrome1" {
    It "does something useful" {
        Palindrome1 "radar" | Should Be $true
    }
}

Ниже приведен скрипт вызова

$modulePath = "D:\Pester-master\Pester.psm1"
$SourceDir = "E:\Pester"
Import-Module $modulePath -ErrorAction Inquire
$outputFile = Join-Path $SourceDir "TEST-pester.xml"

$result = Invoke-Pester -Path $SourceDir -CodeCoverage "$SourceDir\*.ps1" -PassThru -OutputFile $outputFile

$result

Я не получаю ожидаемого результата, может кто-нибудь сказать мне, где я делаю неправильно


person Developer    schedule 15.08.2016    source источник
comment
Какой результат вы видите?   -  person Kirill    schedule 15.08.2016
comment
в моем xml я получаю следующее <message>Expected: {true} But was: {}</message>   -  person Developer    schedule 15.08.2016


Ответы (1)


Это утверждение:

[string] $ReversString

является выражением значения, результатом которого является пустая строка. Эта пустая строка выводится функцией Palindrome1 каждый раз, когда вы ее запускаете. Измените его на:

[string] $ReversString = ''
person Mathias R. Jessen    schedule 15.08.2016
comment
Привет, еще одна помощь, когда я делаю входной параметр обязательным, он несколько раз просит меня ввести строку function Palindrome1 { [CmdletBinding()] param ( [Parameter(Mandatory)] [string] $param ) - person Developer; 15.08.2016
comment
Невозможно воспроизвести, он запрашивает только один раз, если аргумент отсутствует. Пожалуйста, задайте новый вопрос, если вам нужна помощь с параметрами - person Mathias R. Jessen; 15.08.2016
comment
найдите здесь stackoverflow.com/questions/38955495/ - person Developer; 15.08.2016