【问题标题】:vs2010 unit tests aborting for no reasonvs2010单元测试无缘无故中止
【发布时间】:2011-04-25 16:38:11
【问题描述】:

最近我们的 TFS 2008 服务器出现故障。它是用 TFS 2010 服务器重建的。现在,当我选择 VS 单元测试并运行时,前几个被标记为“已中止”,其他的被标记为“未执行”...... 这发生在我没有任何意见的情况下。 单元测试在崩溃之前运行良好。 可能是什么原因造成的?

谢谢。

【问题讨论】:

  • 查看测试报告(trx 文件),看看它显示了哪些错误。

标签: visual-studio-2010 unit-testing


【解决方案1】:

我不确定,但我有类似的问题,但在我的本地机器和 VS 2008 上。我无法运行一些测试,并且它们的状态无缘无故中止。在测试运行结果中,我只有消息“测试主机进程意外退出。”好像没有任何理由。但我在 connect.microsoft.com 网站上找到了更多信息。问题是我的代码会出现 StackOverflowException 并且它会阻止测试运行。所以解决这个问题可以治愈我的测试。希望有人有所帮助。 Unit test result only shows "aborted"/"test run error" for unrecoverable errors

【讨论】:

  • 对我来说同样的问题。我可以通过注释掉导致StackOverflowException 的行来证明这一点。然后测试成功,设置一个断点,并在执行该断点时运行即时窗口中的注释行。然后调试器捕获异常。
【解决方案2】:

我遇到了同样的问题,但是在我的情况下,所有测试都被跳过了,并且在一个空的测试项目上可以重现该错误,因此排除了代码。

检查 EventViewer 导致我发现了我的情况;不知何故 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe.config 文件已从我的机器中删除?!?我在这里从另一台机器上复制了一个,然后我又开始行动了。

【讨论】:

    【解决方案3】:

    同样的事情发生在我身上,正如 Mike 所说,这是因为我的代码中某处出现了堆栈溢出异常。一旦我修复了 SO 异常,问题就消失了。找到 SO 异常非常困难,但我只需要单步执行代码,直到最终找到会导致 SO 的递归调用。

    【讨论】:

      【解决方案4】:

      我遇到了类似的问题,完全阻止了我。

      为了解决这个问题,首先我通过调试(TEST --> Debug --> All Tests)运行了 NUnit 测试,这让我能够逐步完成。

      The error was related to the use of Entity Framework。如果您的测试项目使用 Entity Framework,则 NUnit 项目需要引用 EntityFramework 和 EntityFramework.SqlServer(或您使用的任何提供程序)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-31
        • 1970-01-01
        • 1970-01-01
        • 2011-04-18
        • 2017-04-11
        • 1970-01-01
        相关资源
        最近更新 更多