(我打开了这个新问题,因为这是关于桌面应用程序,它不是 ASP.NET 或 ASP.NET MVC,而且我们不使用 MVCContrib,这种现象不是特定于 .NET 版本的。)但是我们使用 NUnit 和 Moq 和一个一堆东西,比如 Unity、IdeaBlade、DevExpress、Crystal Reports 只是提到其中的一些。症状:仅使用 nUnit GUI,并且无法预测。有时它不会出现,但是当发生某些事情时,很多测试都会失败,例如:
CompanyName.Shared.Services.Test.UnitTests.ApplicationServicesTest.CanLogin_WhenLoginFails_ReturnsFalse:
System.AccessViolationException : Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
如果系统进入这种状态,即使我关闭 nUnit GUI 并再次打开它也无济于事。唯一有帮助的是重新启动机器(!!!o_O)。
这可能是 nUnit GUI 本身的一些错误吗?我只是说,因为我们有 8500 多个测试,这构成了一个巨大的树视图内容!如果所有测试都运行,nUnit 会消耗 2+ GB RAM,并消耗大量句柄(我说的是 Windows 原生句柄“资源”)。
我尝试了 NUnit 2.5.3 和 2.6.2,它们都受到了影响。很长一段时间我们的解决方案是VS2008,现在是VS2012。它似乎也不依赖于 .NET 版本。