5

在单元测试期间我遇到了一个非常奇怪的问题(Visual Studio 中的 MSTest - .NET 3.5 SP1):

  1. 我单击“在解决方案中运行所有测试”
  2. 所有测试都通过,除了一个特定的类,其中每个测试都会引发以下异常:“System.IO.FileLoadException:加载此程序集会产生与其他实例不同的授权集。(来自 HRESULT 的异常:0x80131401)。”
  3. 然后我去在课堂上设置一个断点。结果:类中的所有测试都通过(之前失败的相同测试)。
  4. 我单击“在解决方案中运行所有测试”。所有测试都通过了,除了另一个类。
  5. 我去在课堂上设置一个断点。结果:班级中的所有测试均通过
  6. 我单击“在解决方案中运行所有测试”。所有测试都通过了,除了第一个测试类。
  7. 等等

如您所见,问题非常不一致,因此难以调试。

我曾尝试使用 Fusion Log Viewer,但这给了我不太理解的令人困惑的结果。

我应该寻找什么?有没有其他人遇到过这个问题?

更新: 要求提供一些附加信息。

测试已经运行好几个月了——我想我上次运行它们是在星期四,然后它们运行良好。我一直在尝试检查源代码控制历史,看看是否有什么变化,但没有什么异常。

我可以在不同的日子追溯并检查该项目,但我们正在使用 Visual Source Safe(我知道 - 不是我的决定 :-( )所以我犹豫要不要这样做。

这些测试是常规的单元测试,我使用 Moq 来模拟对象......但正如我所说 - 它直到最近都运行良好。

我只是希望有关如何调试此问题的一些建议。

4

3 回答 3

2

我们也遇到了这个问题,虽然它只发生在我们的构建服务器上(我们安装了 VS2008 以便将 MSTest 与 MSBuild 一起使用),而不是本地发生。我们在构建服务器上的 VS2008 版本中安装了此修补程序,从而消除了此问题。

于 2009-06-04T00:47:53.383 回答
1

显然这是一个错误。毫无疑问,您已经找到了这个,但以防万一,这里有一个链接。

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=95157

希望能帮助到你。

于 2009-04-07T09:15:51.110 回答
0

这里描述的问题只发生在我的机器上。我尝试清除我的 VS2008 设置,禁用所有加载项并在不同的位置检查项目,但都没有成功。现在我认为重新格式化机器之前的最后一个可能的解决方案是重新安装 VS2008,我目前没有时间,所以我现在只能忍受这个问题。

于 2009-05-11T13:17:21.177 回答