一个示例脚本纠缠PowerShell的测试工作不正常

问题描述:

大家好我有一个书面的示例脚本查找给定的字符串是否是回文与否如下一个示例脚本纠缠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 

我没有得到预期的结果可以有一个人告诉我哪里做错了

+0

你看到了什么结果? – Kirill

+0

在我的xml我得到如下'预计:{真实} 但是:{}' – Dotnet

本声明:

[string] $ReversString 

是造成空字符串值表达式。每次运行它时,该空字符串都由Palindrome1函数输出。将其更改为:

[string] $ReversString = '' 
+0

感谢'Mathia' – Dotnet

+0

嗨,多一点帮助,当我把输入参数作为强制性它要求我多次输入字符串'功能Palindrome1 { [列出CmdletBinding()] \t PARAM( [参数(强制性)] [字符串] $ PARAM )' – Dotnet

+0

不能够再现,它只有当参数不存在提示一次。请[问一个新的问题](http://*.com/questions/ask)如果你需要帮助参数 –