Visual Studio 単体テストで発生するエラーについて

こんにちは、Visual Studio サポート チームです。

今回はVisual Studioの単体テストで発生するエラーの対処方法についてご案内します。

 

現象

単体テストの実行で以下のエラーメッセージが出る場合には、1 つのソリューション ファイル (.sln) 内に、複数の単体テスト プロジェクトが存在し、単体テストの参照アセンブリのバージョンが異なっている場合があります。

-エラーメッセージ-
["発生時間" Error] 実行プログラム 'executor://mstestadapter/v2' の呼び出し中に例外が発生しました: 型 'Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner' にコンストラクターが見つかりませんでした。
------------------

 

 

対処

複数の単体テスト プロジェクトで参照しているアセンブリのバージョンが異なっている場合には、参照するアセンブリのバージョンを統一して単体テストを実行します。

<本稿の参考>
本ブログでご案内したエラーは、海外のお客様から以下のサイトに報告されています。
日本語による情報が少ない状況であったため、今回のVisual Studioサポートチーム ブログでご案内しています。

Tests fail to run on build server with V1.1.17, but will run with V1.1.14 #166
https://github.com/Microsoft/testfx/issues/166

Error in Unit test targetting net462 in VS2017 #177
https://github.com/Microsoft/testfx/issues/177

<ご参考>
Visual Studio 2017 から、Live Unit Testing の新機能などが追加され、単体テストに必要な参照アセンブリが以下のように変更されています。

●Visual Studio 2017 の単体テストの参照アセンブリ
Microsoft.VisualStudio.TestPlatform.TestFramework、Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions

●Visual Studio 2015 の単体テストの参照アセンブリ :
Microsoft.VisualStudio.QualityTools.UnitTestFramework

Live Unit Testing with Visual Studio 2017
https://docs.microsoft.com/en-us/visualstudio/test/live-unit-testing