0
function Palindrome1
{
    [CmdletBinding()]
    param (
        [Parameter(Mandatory)]
        [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
. "$here\Palindrome1.ps1"

Describe -Tags "Example" "Palindrome1" {
    It "does something useful" {
        Palindrome1 | Should Be $true
    }
}

ここに画像の説明を入力してください

4

2 に答える 2

1

パラメータをマークするときはMandatory、それに入力値を指定する必要があります。そうしないと、パラメータの入力を求めるプロンプトが表示されます。

からGet-Help about_Parameters:

 パラメータ属性テーブル
 [...]
   パラメータが必要ですか?
     この設定は、パラメータが必須かどうかを示します。
     つまり、このコマンドレットを使用するすべてのコマンドにこれを含める必要があるかどうか
     パラメータ。値が「True」でパラメータが欠落している場合
     コマンドから、Windows PowerShell は次の値の入力を求めます。
     パラメータ。

テストを次のように変更します。

Describe -Tags "Example" "Palindrome1" {
    It "does something useful" {
        Palindrome1 -param "value goes here" | Should Be $true
    }
}
于 2016-08-15T12:57:11.907 に答える