none
単体テストが動作しない RRS feed

  • 質問

  • VisualStudio2010 Ultimate SP1 にて開発を行っています。

    VisualStudio2010(以下VS2010)がインストールされている環境に VisualStudio2012 RC(以下VS2012) をインストールすると、VS2010 で作成した単体テストをVS2010で実行しても動作しなくなってしまいます。

    単体テストは開始されるのですが、単体テストメソッドに入る前で待機のような状態になってしまい、停止しても単体テストが終了しません。

    同じ単体テストをVS2012で実行すると正常に動作します。

    IntelliTraceにてデバッグしてみると下記の例外が発生していました。

    スロー:"引数の型 'Run {GUID}, Test {GUID}: Started' をパラメータの型 'Micfosoft.VisualStudio.TestTools.Common.TestMessage' に変換できません。"(System.Runtime.Remoting.RemotingException)

    この例外メッセージを元に調べてみましたが、有用な情報を見つけることができませんでした。

    どなたかこの件に関する情報または解決方法をお持ちでしたらご教授いただけないでしょうか?

    2012年8月9日 1:56

回答

  • Microsoftから回答が返ってきましたのでここで報告させていただきます。

    本件に関しては既知の問題で、VisualStudio2010 SP1 と VisualStudio2012 RC が同一環境にインストールされている場合に発生する現象とのことです。

    この問題は VisualStudio2012 RTM にて改善されるとのことです。

    以上をもちまして回答済みとさせていただきます。

    ありがとうございました。

    ~以下、回答原文~

    Hi,

    This is a known issue in Visual Studio 2012 RC when it is installed side-by-side with Visual Studio 2010 SP1.

    It has been fixed and will be available in Visual Studio 2012 RTM.

    Mathew Aniyan
    Program Manager - Visual Studio ALM.

    • 回答としてマーク Hiroyuki_K 2012年8月24日 7:04
    2012年8月24日 7:04

すべての返信

  • 回答を得られそうになかったので Microsoft Connect の方に投稿しておきました。

    マルチポストになってしまって申し訳ありません。

    URLを載せておきます。

    https://connect.microsoft.com/VisualStudio/feedback/details/757685/#details

    2012年8月10日 1:08
  • 仮想環境で以下の手順を踏みましたが、再現できませんでした

    1. VS2010 Ultimate SP1 環境を構築し、a + b 程度のメソッドの単体テストを作成し、実行できることを確認。
    2. VS2012 Professional RC をインストール。
    3. VS2010 Ultimate SP1 で単体テストを実行し、問題ないことを確認。
    4. VS2012 Professional RC にコピーしたプロジェクトで開いて単体テストを実行し、問題ないことを確認。
    5. VS2010 Ultiamte SP1 に戻り、コピー元、コピー先(VS2012RC で開いたプロジェクト)ともに開き、単体テストを実行し、問題ないことを確認。

    何らかの再現条件が足りないか、環境要因かでしょうか。
    今のところ検討がつきません。もし、試して欲しい要因があれば教えてください。

    なお、単体テストの実行はテストメニューの実行から実施しています。テストメニューのデバッグ実行も1~2回試しましたが、再現していません。

    2012年8月11日 4:42
    モデレータ
  • Azulean 様

    返信ありがとうございます。

    お試しいただいた手順にて現象を確認できるはずです。

    私の周りでも何人かにためてしてもらいましたが、全員に同じ現象が確認されています。

    ちなみに、OSは何で試されましたか?

    私の方では Windows7 Ultimate SP1 x86 で、最新パッチが当たっている状態で現象を確認できました。

    MicrosoftConnect に私が投稿したフィードバックの方にダウンロード可能な形で添付ファイルをアップロードしておきましたので、こちらの方でもお試しいただければと思います。

    https://connect.microsoft.com/VisualStudio/feedback/details/757685/#details


    また、単体テストをデバッグ実行した際に出力ウィンドウに出力された内容を載せておきます。

    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.ExecutionCommon\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.ExecutionCommon.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.Common\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.Common.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.Resource\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.Resource.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Remoting\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Remoting.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.AgentObject\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.AgentObject.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.AgentProcessManager\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.AgentProcessManager.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.UnitTestFramework\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ja_b77a5c561934e089\mscorlib.resources.dll' が読み込まれました
    E, 5032, 6, 2012/08/16, 13:09:45.767, (マシン名)\QTAgent32.exe, AgentObject.OnBackgroundSendTestMessage: Connection to controller was lost. System.Runtime.Remoting.RemotingException: 引数の型 'Run {61553744-da49-41ee-8bc2-e585ee69bf72}, Test {fd4d6bea-338d-4e82-b55d-d55185623247}: Started' をパラメーターの型 'Microsoft.VisualStudio.TestTools.Common.TestMessage' に変換できません。 ---> System.InvalidCastException: オブジェクトは IConvertible を実装しなければなりません。
       場所 System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
       場所 System.Runtime.Remoting.Messaging.Message.CoerceArg(Object value, Type pt)
       --- 内部例外スタック トレースの終わり ---

    Server stack trace: 
       場所 System.Runtime.Remoting.Messaging.Message.CoerceArg(Object value, Type pt)
       場所 System.Runtime.Remoting.Messaging.Message.CoerceArgs(MethodBase mb, Object[] args, ParameterInfo[] pi)
       場所 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

    Exception rethrown at [0]: 
       場所 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       場所 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       場所 Microsoft.VisualStudio.TestTools.Controller.IControllerCallback.AgentEvent(String agentName, TestMessage message)
       場所 Microsoft.VisualStudio.TestTools.Agent.AgentObject.<>c__DisplayClass14.<OnSendTestMessage>b__12()
       場所 Microsoft.VisualStudio.TestTools.Execution.ExecutionUtilities.InvokeController(Action invokeController, String caller, Boolean& connectionLost)
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.TeamSystem.Licensing.dll' が読み込まれました
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.Enterprise.AspNetHelper.dll' が読み込まれました
    V, 5032, 13, 2012/08/16, 13:09:46.487, (マシン名)\QTAgent32.exe, Tracing starting up. Stopwatch frequency is 2940195
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.QualityTools.NicServices.dll' が読み込まれました
    スレッド 'Agent: adapter run thread for test 'TestMethod1' with id 'fd4d6bea-338d-4e82-b55d-d55185623247'' (0x1458) はコード 0 (0x0) で終了しました。
    スレッド 'ExecutionUtilities.InvokeWithTimeout helper thread 'Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapter.AbortTestRun'' (0x14ec) はコード 0 (0x0) で終了しました。
    'QTAgent32.exe' (マネージ (v4.0.30319)): 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.Resource.resources\10.0.0.0_ja_b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.Resource.resources.dll' が読み込まれました
    スレッド 'Agent: state execution thread for test 'TestMethod1' with id 'fd4d6bea-338d-4e82-b55d-d55185623247'' (0xdc4) はコード 0 (0x0) で終了しました。
    スレッド 'Agent: test queue thread' (0x1620) はコード 0 (0x0) で終了しました。
    W, 5032, 8, 2012/08/16, 13:09:47.089, (マシン名)\QTAgent32.exe, AgentObject.AgentStateWaiting: Proceeding to clean up data collectors since connection to controller is lost
    スレッド 'Agent: heartbeat thread' (0x1338) はコード 0 (0x0) で終了しました。
    スレッド '<名前がありません>' (0x1a8) はコード 0 (0x0) で終了しました。
    スレッド '<名前がありません>' (0x13dc) はコード 0 (0x0) で終了しました。
    スレッド '<名前がありません>' (0x8e4) はコード 0 (0x0) で終了しました。


    • 編集済み Hiroyuki_K 2012年8月16日 4:21 追記したため
    2012年8月16日 4:14
  • Microsoftから回答が返ってきましたのでここで報告させていただきます。

    本件に関しては既知の問題で、VisualStudio2010 SP1 と VisualStudio2012 RC が同一環境にインストールされている場合に発生する現象とのことです。

    この問題は VisualStudio2012 RTM にて改善されるとのことです。

    以上をもちまして回答済みとさせていただきます。

    ありがとうございました。

    ~以下、回答原文~

    Hi,

    This is a known issue in Visual Studio 2012 RC when it is installed side-by-side with Visual Studio 2010 SP1.

    It has been fixed and will be available in Visual Studio 2012 RTM.

    Mathew Aniyan
    Program Manager - Visual Studio ALM.

    • 回答としてマーク Hiroyuki_K 2012年8月24日 7:04
    2012年8月24日 7:04
  • すみません。レスに気づけておらず、返答できていませんでした。
    結果として RTM で解消しているとのことで安心しました。

    Windows 7 Ultimate SP1 (x86) でしたが、添付のプロジェクトでも特に止まらなかったです。
    VS2012 側のエディションの差が効いたのかもしれませんね。修正されているのであれば原因を追及するのも難なので、切り分けはやめておきます。:-)

    2012年8月24日 13:29
    モデレータ