VB のたまご

作成日: 2016/07/30, 更新日: 2017/03/20


テストエクスプローラーにテスト項目が表示されない

  •  (追記)今更ですが直りましたね。 もし直らない場合は、最新のインストーラーをダウンロード&アンインストール&インストールで直るはずです。

  •  ※以下の内容は時期的なものなので、そのうち修正版が公開されて現象が直るのだと思います。 それによって、本記事も古い内容に変わるので、参考程度にしていただけたらと思います。

  • ※私の環境は、以下の通りです。
  •  Windows 10 Pro(32ビット版)
  •  Visual Studio Community 2015 Update 3

  • スポンサーリンク


現象

  •  MSTest のテストをしたくてテストを作成していたのですが、気が付いたらテストエクスプローラーにテスト項目が表示されなくなっていました。 最近、テストエクスプローラーペインを表示しっぱなしにしていて、これがキーとなるのか分かりませんが、軽く見たところ、以下のような状況です。

  • ①Visual Studio 起動時、ロード的な処理のタイミングで、以下の通知が表示されます。
  • 予期しないエラーが検出されました。詳細については、テスト出力ペインを確認してください。

  • ②出力ペインを見ると、以下のエラー内容が表示されています。
  • パーツ "Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowControl" の初期化中に例外がスローされました。

  • ③テストエクスプローラーは表示されるが、テスト項目が表示されない。テスト実行はできるっぽいが、結果が表示されないので、どうなったか分からない。

  •  ググったところ、有識者の方や同じく現象が出て困っている方の記事がありました。 どうやら先日当てた Update 3 (のうち、日本語処理の部分)が原因みたいです。 この方は、Visual Studio の言語パックを、日本語から英語に変更することで、対処されていました。

代替案

  •  GUI がダメなら CUI でどーだ!ということで、MSTest のコマンドラインが動作するか確認することにしました。 あらかじめ、プロダクトコードとテストコードを作って、ビルドしておきます。

  • 確認環境
  •  フォルダ
  •   +ConsoleApplication1
  •   +UnitTestProject1     ←ConsoleApplication1 用のテストプロジェクト
  •   +ConsoleApplication1.sln
  •   +UnitTestProject1.bat

  •  UnitTestProject1.bat とか適当に名前を付けて、以下のような内容で、好きな場所に保存しておきます。
  • @echo off
    cd /d %~dp0
    
    :: MSTest.exe のフルパス(私の環境の場合)
    set mstest="C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe"
    
    :: テストプロジェクトの dll フルパス
    set target="C:\~\bin\Debug\UnitTestProject1.dll"
    
    :: テスト実行と結果をファイル出力
    %mstest% /testcontainer:%target% > UnitTestProject1.log
    
    :: 標準出力にも出す
    type UnitTestProject1.log
    
    
    pause
    

  •  後は、bat ファイルを実行するだけです。
  • Microsoft(R) Test Execution Command Line Tool Version 14.0.23107.0
    Copyright (c) Microsoft Corporation. All rights reserved. 
        
    C:\~\bin\Debug\UnitTestProject1.dll を読み込んでいます...
    実行を開始しています...
    
    結果            トップ レベルのテスト
    --            -----------
    成功            UnitTestProject1.UnitTest1.TestMethod1
    1/1 テスト 成功
    
    概要
    --
    テストの実行 完了 です。
      成功  1
      -----
      合計  1
    結果ファイル:C:\~\TestResults\USER_USER-PC 2016-07-30 09_02_34.trx
    テストの設定:既定のテストの設定
    
    

  •  標準出力とファイル出力の両方に出力できるようにするやり方も、ググって見つけた有識者の方の記事からです。 動作結果を見た感じ、うまくテスト実行されていますが、全ての機能の検証はしていませんので注意してください。
  •  最後までこの記事を読んでいただき、ありがとうございました。

  • スポンサーリンク