Visual Studio 2013 でテストを実行する際、プロセッサのアーキテクチャはメニューの [テスト] -> [テスト設定] -> [既定のプロセッサアーキテクチャ] から、x86 / x64 を選択できます。
しかし、CI ツールなどから CLI でテストを流す時、これまで通り MSTest.exe を使おうとすると、例えば Oracle Data Provider for .NET (ODP.NET) で DB 接続するケースで、開発環境に 64bit 版のみがインストールされている場合、MSTest.exe は 32bit 版を使おうとするため
要求された .Net Framework データ プロバイダーが見つかりません。これは、インストールされていない可能性があります。
のようなエラーを吐いてテストが失敗してしまいます。MSTest.exe は x86 のプロセッサアーキテクチャのみに対応した古いツールということになります。
そこで、MSTest.exe ではなく vstest.console.exe を使います。
MSTest.exe は(Visual Studio 2013 の場合)、C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
配下にありますが、vstest.console.exe は C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow
配下にあり IDE の拡張モジュールの位置づけでしょうか。
MSTest.exe も vstest.console.exe も 開発者コマンドプロンプト(C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts
) にはパスが通されていて任意のフォルダで使用できます。
vstest.console.exe のコマンドラインオプションの解説は VSTest.Console.exe のコマンドラインオプション にあります。
/Platform:[ プラットフォームの種類 ] でプロセッサアーキテクチャ(x86、x64、および ARM )を指定できます。
Jenkins では VSTestRunner Plugin というプラグインが提供されていて、プロセッサアーキテクチャは WebUI のラジオボタンで設定できます。