Visual Studio 2015 Update3で(GUIから)テストできない

Visual Studio 2015を更新したらテストエクスプローラーウインドウに何も表示されなくなった。

ユニットテストプロジェクトを開くと
"Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowControl" の初期化中に例外がスローされました"
と表示されて終了。

英語環境に切り替えればなんとかなるらしいけど。
Visual Studio 2015 "日本語" の環境に最新の更新 (KB3165756) を適用するとテストエクスプローラーが機能しなくなります
VisualStudio Community 2015 Update 3 適用でテストウィンドウに例外発生 ⇒ 言語設定を英語にすれば治りますけど・・・ - 銀の弾丸



別にVisualStudioのGUIを使わなくても、コマンドラインでテストはできる。
準備として、テストプロジェクト(と参照しているプロジェクト)はビルドしておく。

で、ここを参考にテストプロジェクトのdllを指定してテストを行う。
チュートリアル: コマンド ライン テスト ユーティリティの使用


スタートメニューのVisualStudio2015フォルダからDeveloper Command Prompt for VS2015を起動。

カレントディレクトリを変更。

cd /d D:\WorkSpace\Solution1\UnitTestProject\bin\Debug

からのテスト開始。

MSTest /testcontainer:UnitTestProject.dll

これで全てのテストを実行してくれる。


…で、今までは問題なかったはずのテストが全滅。
テスト結果はカレントディレクトリのTesuResultsフォルダの中に保存されている。
開いてみると、テスト対象プロジェクトがSQLiteを使っていたので
SQLite.Interop.dllが読み込めないと言って例外を吐いていた。



そんな場合はdllを読み込むように設定してやる。
テストプロジェクトのbin\Debugフォルダ内にTestSettings.testsettingsとかの名前でファイルを作って
以下のように記述。

<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="TestSettings" 
              id="4aae19cc-9966-4c8e-9bb8-c804679343fb" 
              xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Deployment>
    <DeploymentItem filename="SQLite.Interop.dll" />
  </Deployment>
</TestSettings>

このidって何でもいいんですかね。調査不足。
とりあえずこれでテスト時に読み込むdllを指定できるので、
あとはこの設定ファイルを使ってテスト開始。

MSTest /testcontainer:UnitTestProject.dll /testsettings:TestSettings.testsettings

今度は問題なく成功。


これでテストだけはできるけど、テストのデバッグ実行はできないので
やっぱり早めにVSの修正来てほしいなあ。