3

VS マクロを使用して nunit-console を使用して Visual Studio からテストをデバッグしようとしていますが、デバッガー / IDE を nunit-console / nunit-agent に接続するときに問題が発生しています。テストを実行したいだけの場合、マクロは機能していますが、問題はデバッガーを接続する場合のみです。

ある種のデッドロックの問題があるようです。マクロを開始すると、IDE がフリーズします。アタッチ後、テストはブレークポイントで一時停止します (私はそう思います) が、IDE がフリーズしているため、これを見ることができません。マクロが IDE をロックしているため、ステップスルーなどができず、ブレークポイントで停止しているため、テストを続行できません。何か案は?

私は resharper / testdriven / extensions などを使用することはできません。サードパーティは使用できません。質問しないでください :( したがって、そのマクロ、それに似たもの、または何もありません。

Nunit 2.5.7、VS 2010、.net 4 プロジェクトを使用。

私がこれまでに持っているもの

process.Start() 'run nunit-console

If attachDebugger then
 For Each debugProcess As EnvDTE.Process In DTE.Debugger.LocalProcesses

   ' no parent process ID on process type, so have to look at name for the agent.
   If debugProcess.ProcessID = process.Id Or debugProcess.Name.Contains("nunit-agent") Then
     debugProcess.Attach()
   End If

 Next
End If    

process.WaitForExit()

DTE.Debugger.DetachAll()
4

1 に答える 1

1

推測にすぎませんが、Visual Studio が孤立した UI スレッドでマクロを実行していると思われます。

おそらくあなたはこれを試すことができます:

マクロで、別のスレッドをスピンアップし、その中で記述したコードを実行します。マクロをすぐに終了させます。

于 2012-03-22T14:56:05.393 に答える