C# Visual Studio 2012 fakes UnitTestIsolation检测无法初始化
刚刚安装了vs 2012更新2(),所以我可以使用vs fakes/Shimmers来测试一些难以测试的代码。当我创建假程序集时,一切都编译得很好,所有引用都按预期添加到单元测试项目中。但是,在任何测试中运行以下代码C# Visual Studio 2012 fakes UnitTestIsolation检测无法初始化,c#,unit-testing,visual-studio-2012,testing,nunit,C#,Unit Testing,Visual Studio 2012,Testing,Nunit,刚刚安装了vs 2012更新2(),所以我可以使用vs fakes/Shimmers来测试一些难以测试的代码。当我创建假程序集时,一切都编译得很好,所有引用都按预期添加到单元测试项目中。但是,在任何测试中运行以下代码 using (ShimsContext.Create()) { //Doesn't matter whats in here } 引发以下异常 Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestI
using (ShimsContext.Create())
{
//Doesn't matter whats in here
}
引发以下异常
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException : UnitTestIsolation instrumentation failed to initialize. Please restart Visual Studio and rerun this test
堆栈跟踪出现完全异常
Test 'Abot.Tests.Unit.Core.HapHyperLinkParserTest.HyperLinkParserTest.GetLinks_AreaTags_ReturnsLinks' failed: Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException : UnitTestIsolation instrumentation failed to initialize. Please restart Visual Studio and rerun this test
at Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InitializeUnitTestIsolationInstrumentationProvider()
at Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.CreateContext()
at Microsoft.QualityTools.Testing.Fakes.ShimsContext.Create()
Core\HyperlinkParserTest.cs(59,0): at Abot.Tests.Unit.Core.HyperLinkParserTest.GetLinks_AreaTags_ReturnsLinks()
一些注释
- 我正在使用visual studio 2012 premium
- 解决方案中的所有项目都以.net 4.0为目标
- 我正在使用nunit作为测试框架
- 尝试通过testdriven.net插件和nunit gui运行测试,但出现相同错误
- 尝试以.net 4.5为目标,但出现了相同的错误
- 我没有使用Typemock或Ncrunch,它们也没有安装
- 我正在使用Moq,但已将其从th中删除
- 它与特定的测试无关,我已经在不同的测试文件和其他解决方案中验证了它的失败李>
- 马修是正确的。您必须使用vs测试运行程序
-必须通过允许vs Test runner运行NUnit的扩展管理器安装NUnit测试适配器0.94
-必须使用vs测试浏览器窗口来运行测试
看起来运行的测试将运行的测试包装在一个上下文中,以实现伪造的神奇效果 此外,如果要从CI服务器运行测试,则需要从控制台执行VS测试运行程序,并指定要使用nUnit Discoveryer扩展 该命令如下所示:{ProgramFiles}\Microsoft Visual Studio\11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow>vstest.console.exe /inIsolation /UseVsixExtensions:true {testsPath}
在“调试”下重置异常设置: 菜单调试->异常->全部重置 通过在调试模式下取消选中更改异常设置后: “当用户未处理此异常类型时中断”
这导致了这个问题。我认为您必须使用vstest test runner,VS2012使用它,以及TFS 2012检查此Microsoft Connect页面:通过取消选中异常,没有错误,但执行已中断,似乎无法解决问题。通过撤消上一个建议,您需要这样做