2011-11-10 81 views
3

我同时运行了我所有的单元测试,当最近遇到的问题。单元测试一直挂在Visual Studio 2010中

我可以对它们进行调试和运行我的测试中单独没有问题,但运行他们都在一起时,试运转一直通过挂了一半。

出现这种情况:

  1. “运行所有测试的解决方案”
  2. 第一次测试解析没有问题(慢然后如常虽然)
  3. 在某个时候被卡住。没有任何失败,没有例外,VS只是停止运行待定测试。
  4. 当停止试运转它被再次卡住了,我需要重新启动VS中止试运行。

通常我会在我的代码中看到一个错误,但是自上次成功的测试运行以来,我没有对代码进行更改。我做的唯一的事情就是运行Performance Wizard - Cuncurrency分析。

它总是停在同一个地方,从运行除去一些测试时,它停止了新的地方(仍然没有实际进入任何剩余的测试)。

我不知道是什么原因造成这一点。但似乎我有问题与VS设置,而不是代码错误。

有什么建议吗?性能向导是否改变了可能影响测试运行方式的任何设置?

系统细节: Windows 7旗舰版64位, 的Visual Studio 10高级

回答

1

我无法真正解释为什么这会起作用,但它解决了问题!

我扭转了“的.csproj”文件的早期版本,在已经与性能向导‘接触’的项目之一,而现在我的测试工作。

ALSO注意性能向导可以从“DEBUG”改变溶液配置,以“释放”在某些情况下模式。对我来说情况并非如此,但对于我的一些同事来说却是一种痛苦。

1

这听起来像一个并发的问题。似乎有一个测试改变了testen环境,使得另一个测试陷入僵局。当您删除一些测试时,测试运行顺序会发生变化,并且其他一些测试会卡住。

所以我会寻找一个关于你的测试环境/ externall依赖关系的并发问题。

+0

这对我来说似乎是devenv.exe中的bug/concurrency问题(没有进程隔离afaict) - 主线程挂起等待锁定(与绘制我怀疑的测试结果窗口有关)并且ide死亡。 – fusi