我们刚刚从 Visual Studio 2008“升级”到 Visual Studio 2012。我们更新了单元测试,现在它们在单独运行时通过了,但是当我尝试全部运行时,出现以下错误:
The active Test Run was aborted because the execution process exited unexpectedly. To investigate further, enable local crash dumps either
at the machine level or for process vstest.executionengine.appcontainer.x86.exe. Go to more details: [http://go.microsoft.com/fwlink/?linkid=232477][1]
所以我去了链接并按照说明添加注册表项以启用本地故障转储。然后错误消息更改为:
The active Test Run was aborted because the execution process exited unexpectedly. Check the execution process logs for more information.
If the logs are not enabled, then enable the logs and try again.
显然它注意到了我在注册表中为启用崩溃所做的更改。但是,当我查看 %LOCALAPPDATA%\CrashDumps 时,没有创建任何文件。
如果我一次运行一个测试(甚至一次运行几个测试),我可以让它们全部通过。问题仅在于全部运行。
有没有其他人遇到过类似的问题?如果是这样,你是如何解决它们的?
基本上在MSDN上提出了相同的问题,但答案类似于“单击故障转储的链接”。该答案对我没有帮助,因为我没有看到任何指向故障转储的链接,并且我无法生成故障转储。
StackOverflow 上的这个问题也很相似,最终导致在Microsoft Connect 上记录了一个错误(看起来由于某种原因被推迟了),但我的问题可能有所不同,因为我的代码与“异步任务”无关(我不认为)。
编辑:问题似乎消失了,但问题可能是单元测试代码中未捕获的异常,正如下面的一些答案所暗示的那样。但是,我仍然很困惑为什么问题只出现在 Run All 中,而不是在运行较小的测试组或 Debug All 时出现。