kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

VSTSの新ビルドで単体テスト結果を確認する

ASP.NET MVC(.NET Framework 4.6)のプロジェクトをVisual Studio Team Servicesでビルドしたいとします。作成したデフォルトのビルド定義には単体テストを実行するタスクがあり、有効にしています。

f:id:kkamegawa:20160316220108p:plain

しかし、ビルドしても、このようにテスト結果が表示されません。もちろんローカルでは表示されます。これはどういうことでしょうか?

f:id:kkamegawa:20160316220110p:plain

原因はvstestに指定するターゲットフレームワークの指定がFramework4(.NET 4)になっているからじゃないかな、と思います。ビルドタスク内のTestのAdvanced Execution OptionsのOther Console Optionsに"/UseVsixExtensions:false /Framework:framework45"と指定してください。

f:id:kkamegawa:20160316220109p:plain

こんな感じ。/UseVsixExtensionsはVSIXの拡張機能を使用しない、という指定です。コンソールで実行するテストのときあっても意味がないので無効化しています。

f:id:kkamegawa:20160316220111p:plain

ビルド後、単体テスト結果やカバレッジ結果が正しく表示されるようになりました。この指定はRun Settings Fileに指定したテスト構成ファイルでもできるはずなのですが、リポジトリに追加するのも面倒なので、実行時引数に指定しています。

VSTest.Console.exe のコマンド ライン オプション