我正在尝试使用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()
答案 0 :(得分:1)
这只是一个猜测,但我怀疑Visual Studio在它的寂寞UI线程上运行宏。
也许你可以试试这个:
在你的宏中,启动另一个线程并运行你在其中编写的代码。让宏立即退出。