もくじ
目次(WPF/xaml/C#/C++関連メモ) - tera1707’s blog
やりたいこと
VisualStudio2022で、UnitTestプロジェクトを作ってテストコード(UnitTest)を書くと、テストエクスプローラーからテストを実行することができるが、そのテストコードをVisualStudioが入っているPCではなく、開発環境が入っていない別のPC上で実行したい。
前提
やりかた
vstest.console.exeを使う。
ダウンロード
下記MSのページからダウンロードする。
VisualStudio2022用のツール、の中の、Agent for VisualStudio 2022
のAgent
をダウンロードする。
ダウンロードして実行すると、VisualStudio Installerが起動するのでインストールする。
コード作成とUnitTest実行手順
ソリューション作成
実験用のソリューションの構成は下記のように作った。
※UnitTestのコードの書き方などはここでは割愛。下記ページなどを参照。
実行用バッチ
上記の構成の中の、テスト用のプロジェクトをビルドすると、出力先フォルダに「TestProject1.dll」が作成されるが、それがUniTest実行するために必要なdll。
テストするためには、vstest.console.exe
にそのTestProject1.dll
を食わせる必要がある。
下記のようなバッチを作成し実行して、それを行う。
(TestProject1.dllが出来上がるフォルダに、下記のバッチも置いて実行する)
rem 対象のUnitTestのdll名 set TESTDLL="TestProject1.dll" rem TestAgent2022のみインストールしている場合はこちら set VSTESTPATH="C:\Program Files (x86)\Microsoft Visual Studio\2022\TestAgent\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" rem VisualStudio2022をインストールしている場合はこちらにもある rem set VSTESTPATH="C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" rem テスト実行 %VSTESTPATH% %TESTDLL% /platform:x64 /inIsolation /Logger:trx pause
VisualStudioが入っていないPCにTestAgentのみ入れた場合は、上記バッチの場所にある。
VS2022入ってる場合は、remでコメントアウトしたほうのパスにもある。どちらを使っても同じ。
結果
バッチを実行すると、下記のような結果がdos窓上に表示される。
参照
TestAgentダウンロード先
以前、.NetFramework4.8のときにUnitTestをしたときの記事