使用nunit-console和VS-macro调试Visual Studio 2010测试

时间:2011-08-22 16:39:39

标签: visual-studio-2010 debugging nunit-console visual-studio-macros

我正在尝试使用VS-macro使用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()

1 个答案:

答案 0 :(得分:1)

这只是一个猜测,但我怀疑Visual Studio在它的寂寞UI线程上运行宏。

也许你可以试试这个:

在你的宏中,启动另一个线程并运行你在其中编写的代码。让宏立即退出。