对于我的项目,我使用集成的Visual Studio单元测试框架,但我有一些我从未见过的问题。VSTestHost崩溃,将不再工作
我的一个类导致VSTestHost崩溃。所以首先,我认为这是因为有一堆代码导致堆栈溢出。真奇怪的是,现在,即使我创建了一个新项目或者使用了以前工作的较早的项目,VSTestHost也会立即崩溃(在点击运行测试按钮后1/2秒)。事实上,我不能再进行单元测试......这真的让我发疯。
我尝试了很多在互联网上找到的解决方案来解决这个问题,但没有任何工作。我必须恢复Windows到我最后一次更新才能恢复正常工作。可以肯定的是,这是一个导致单元测试框架发疯的特定测试类。当我第一次运行这个测试类时,一切顺利,所有测试都通过了,然后每次我尝试运行一个单元测试时,VSTestHost都会崩溃,从而阻止我在任何项目中进行单元测试。
在这里,我向您展示假设使程序崩溃的测试。我的LoadFromExe()方法只是使用ConfigurationManager.OpenExeConfiguration()方法。它使我现在有一个月使用这个AlphaProjectConfiguration没有任何问题。
[TestMethod()]
public void LoadGoodConfigurationFromExeTest()
{
using (StreamWriter sw = new StreamWriter(ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath))
{
sw.Write(Resources.GoodConfiguration);
}
AlphaProjectConfiguration actual = new AlphaProjectConfiguration();
actual.LoadFromExe();
Assert.IsNotNull(actual);
}
我只是尽全力解决了这个问题,现在我真的已经摆脱了它。这就是为什么我现在要求社区提供一些帮助。 谢谢。
编辑: 这个测试类包含了其他3次试验,几乎做同样的事情。 我在带有VSTS 2008 SP1的Windows 7 x64和Windows XP x86上尝试了这一点。这两个系统都会发生崩溃。
我想尝试一下,但是这个bug神秘地消失了。我甚至无法再让它发生......我没有改变我的代码。我承诺,如果发生同样的问题,我会测试此修补程序,我会发布反馈。谢谢。 – Ucodia 2009-10-25 12:31:52