vstest.console.exe のいくつかのインスタンスを起動し、テスト結果を .trx ファイルまたは tfs に発行する C# で作成したカスタム PowerShell コマンドレットがあります。このコマンドレットは、PowerShell をローカルで使用する場合に単独で機能します。
ただし、v3 PowerShell リモート処理を使用してコマンドレットをリモートで実行すると、invoke-command は完了しますが、2 つの問題があります。
- 結果ファイルが公開されていないため、テスト実行プロセスは完了しません
- リモートコンソールでは結果が得られませんが、ローカルの場合、新しく開始されたプロセスからバブルアップします
これは、リモート PowerShell 呼び出しスクリプトで使用したリモート呼び出しです。
$j = Invoke-Command -Session $currentPSSession -AsJob -ScriptBlock {
Add-PSSnapin "IntegrationTestTools"
Start-IntegrationTests -someotherUnimportantArgs
} | Wait-Job
$results = $j | Receive-Job
スクリプトをステップ実行すると、実際にジョブを待ちますが、結果は空です。
Keith Hill の投稿に従って、リモーティングをセットアップしたことに注意してください 。また、Wsmanをセットアップしました
set-item WSMan:\localhost\Shell\MaxMemoryPerShellMB 0
set-item WSMan:\localhost\Shell\MaxProcessesPerShell 0
set-item WSMan:\localhost\Shell\MaxShellsPerUser 0
したがって、プロセスと許可されたメモリがこの特定の演習を制限するべきではありません。
何か案は?