サーチ…


前書き

インフラストラクチャ管理サービスを自動化することで、複数のツール、オーケストレータ、オーケストレーションエンジン、スクリプト、および簡単なUIを使用して、FTEを削減するだけでなく、累積的に優れたROIを得ることができます

コンソールアプリケーションのブラックボックス統合テスト用の簡単なスクリプト

これは、標準入力と標準出力と対話するコンソールアプリケーションのテストを自動化する方法の簡単な例です。

テストされたアプリケーションは、新しい行を読み込んで合計し、1つの白い行が提供された後に結果を提供します。パワーシェルスクリプトは、出力が一致すると "pass"を書き込みます。

$process = New-Object System.Diagnostics.Process
$process.StartInfo.FileName = ".\ConsoleApp1.exe"
$process.StartInfo.UseShellExecute = $false
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.RedirectStandardInput = $true
if ( $process.Start() ) {
    # input
    $process.StandardInput.WriteLine("1");
    $process.StandardInput.WriteLine("2");
    $process.StandardInput.WriteLine("3");
    $process.StandardInput.WriteLine();
    $process.StandardInput.WriteLine();
    # output check
    $output = $process.StandardOutput.ReadToEnd()
    if ( $output ) {
        if ( $output.Contains("sum 6") ) {
            Write "pass"
        }
        else {
            Write-Error $output
        }
    }
    $process.WaitForExit()
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow