1

テストを自動化するときは、コマンド ライン プログラムである MSTest.exe を使用します。テスト結果ファイルを保存する場所を指定するパラメーターを渡します。

私の問題は、Visual Studio GUI からテストを実行できるようにしたいが、それでもテスト結果ファイルの場所を指定できるようにしたいということです。

この理由は、テスト結果ファイル (XML 形式であるため) を読み取り、指定された電子メール アドレスに結果を電子メールで送信するためのコードを少し書いているからです。

テストを MSTest.exe 経由で実行するか、Visual Studio GUI 経由で実行するかに関係なく、同じ場所からテスト結果ファイルを取得したいと考えています。

「テスト結果」ウィンドウから「テスト実行の詳細をエクスポート」オプションを選択することで、GUI でこれを実行できることを知っています。これをプログラムで行う方法を知りたいので、テストの実行が完了したら自動的にアクションを実行できます。

...代わりに、プログラムでテスト結果情報にアクセスできるようにするクラスはありませんか? たとえば、これを使用する方法がよくわかりませんが、私を助ける TestResult クラスがあると思います。また、TestContext クラスには「DeploymentDirectory」などのプロパティがありますが、それらは読み取り専用であることにも気付きました。

また、VS2008 では、.testrunco​​nfig ファイルを編集して、TestRunConfiguration 要素に次の行を追加できることをオンラインで他の場所で読みました。

'<'配置 userDeploymentRoot="C:\TestResults" useDefaultDeploymentRoot="false" />

しかし、.testrunco​​nfig ファイルがソリューションに存在せず、TestRunConfiguration 要素が .vsmdi ファイルに表示されません。

どんな助けでも大歓迎です、ありがとう。

4

1 に答える 1

1

定義済みのディレクトリにファイルをコピーするクリーンアップ スクリプトを使用できます。Test Results

次のコードでバッチを作成します。

::Set the path where the result files will be copied
set TargetDirectory = "C:\..."
::copy the results file
xcopy /s /y "%TestDir%.trx" %TargetDirectory%

%TestDir%変数は、Visual Studio によって、qtcleanup.bat各テスト実行の既定のテスト結果出力ディレクトリにある に自動的に作成されることに注意してください。

qtcleanup.bat上記の変数を使用できるように、バッチ ファイルの内容が に追加されます。それを開いて、残りの使用可能な変数を表示することもできます。

バッチ ファイルを作成したら、Visual Studio に移動して を開き、*.testsettingsをクリックしSetup and Cleanup Scriptsて .bat ファイルを選択します。

テスト実行の最後に毎回実行されます。

于 2012-07-30T16:53:34.867 に答える