3

我试图从Visual Studio使用nunit控制台调试使用VS宏的测试,但我在将调试器/ IDE附加到nunit时出现问题-console/nunit-agent。我确实有宏工作,如果我只想运行测试,只有在连接调试器时才会出现问题。调试使用nunit控制台和VS宏的Visual Studio 2010测试

我似乎有一个死锁问题的种类。当我启动宏时,它冻结了IDE。附加之后,测试暂停在一个中断点(我认为),但我不能看到这一点,因为IDE被冻结。我无法通过等等,因为宏锁定了IDE,并且我不能继续测试,因为它在断点处停止。有任何想法吗?

我不能使用ReSharper的/测试驱动/扩展等,没有第三方,不要问:(,所以其宏,类似的东西,或什么都没有。

使用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

这只是一个猜测,但我怀疑Visual Studio中正在运行的宏观上是孤独的UI线程。

也许ÿ你可以试试这个:

在你的宏中,旋转另一个线程并运行你写的代码。让宏立即退出。