2016-08-15 1 views
1

Привет всем У меня есть написал пример сценария, чтобы найти данная строка является ли Palindrome или не тактестирование 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 
    } 
} 

Ниже Invoke скрипт

$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 

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

+0

Какой результат вы видите? – Kirill

+0

в моем xml Я получаю следующее ' Ожидаемое: {true} Но было: {}' – Dotnet

ответ

1

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

[string] $ReversString 

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

[string] $ReversString = '' 
+0

Спасибо 'Mathia' – Dotnet

+0

Привет, еще одна справка, когда я вношу входной параметр как обязательный, он просит меня несколько раз ввести функция строки 'Palindrome1 { [CmdletBinding()] \t пар ( [Параметр (Обязательные)] [строка] $ пары )' – Dotnet

+0

не в состоянии воспроизвести, он выдает только один раз, если аргумент не присутствует. Пожалуйста, задайте новый вопрос (http://stackoverflow.com/questions/ask), если вам нужна помощь с параметрами –