これを行う唯一の方法は、テスト スクリプトの先頭にタグを含め、それらのタグの代わりに正しい値を検索して置き換えることでした。たとえば、私の場合、テスト スクリプトには、スクリプトの先頭に次のコードが含まれていました。
[string]$ServerName=<ServerName>
[string]$TargetDatabaseName=<TargetDatabaseName>
それが文字通りのコードです。次に、テストを呼び出したスクリプトに次のコードを含めました。
foreach ($testPSScript in Get-ChildItem "$testScriptDir\*.ps1") {
(Get-Content $testPSScript.FullName) |
ForEach-Object {$_ -replace "<ServerName>", "'$ServerName'"} |
ForEach-Object {$_ -replace "<TargetDatabaseName>", "'$DatabaseName'"} |
Set-Content $testPSScript.FullName -Force
PSUnit.Run.ps1 -PSUnitTestFile "$testPSScript"
}
毎回テスト スクリプトを元のバージョンで上書きすることを忘れないでください。そうしないと、タグの代わりに前回の実行で使用した値が含まれてしまい、値を変更できなくなります。