代码之家  ›  专栏  ›  技术社区  ›  Anthony

VSTestHost.exe已停止工作-无法运行单元测试

  •  5
  • Anthony  · 技术社区  · 17 年前

    微软的单元测试框架突然罢工了。

    我在Vista上运行Visual Studio Team System 2008(版本9.0.30729.1 SP),并应用了所有更新。

    “问题报告和解决方案”建议我“升级到Visual Studio Team Edition for Software Testers的最新零售版本”,这是不对的。

    我已尝试重新启动。
    我尝试了“devenv/resetuserdata”

    这些都没有区别。

    我想回去看电影 MbUnit 基于这些废话,但这不是我的选择。

    4 回复  |  直到 17 年前
        1
  •  8
  •   Mitch Labrador    16 年前

    我也有同样的问题,并且意识到是我的代码弄乱了,测试框架只是通过关闭自己来保护自己不受我的代码的影响。

    对我来说,关键是同样的事情发生在两个不同的测试框架上。所以它必须是我的代码。

        2
  •  1
  •   Anthony    17 年前

    我发现了我所问的问题,这是我的错。我编写了一个堆栈溢出代码:我将一些代码重构成一个扩展方法,重命名它以匹配它调用的Linq扩展方法,因此它只是自我递归地调用它。

    从中吸取的教训:
    1: "select" isn't broken . 由于框架的坏名声,我很快就把责任推到了它身上。

    2:

    在错误消息如此糟糕的情况下,一种好的调试技术是尝试确定错误的原因。在我的例子中,当我注意到失败的不是“测试运行”,而是包含Sql数据库测试的运行时,突破就出现了——域对象和模拟存储库测试可以运行得很好,所以它运行的代码中必须有一些东西。调试器将进入测试。从这些灾难性的错误中,我认为它甚至没有走那么远。

        3
  •  1
  •   Kris Kris    17 年前

    它们有点隐藏了这些信息,但知道主机没有崩溃但某些测试根本不起作用时尤其有用,有时可以在该链接中找到有关原因的信息。

        4
  •  -1
  •   Kieron    17 年前

    要重置为出厂设置,请从运行窗口运行devenv/ResetSettings。