Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio 2012 fakes UnitTestIsolation检测无法初始化_C#_Unit Testing_Visual Studio 2012_Testing_Nunit - Fatal编程技术网

C# Visual Studio 2012 fakes UnitTestIsolation检测无法初始化

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

刚刚安装了vs 2012更新2(),所以我可以使用vs fakes/Shimmers来测试一些难以测试的代码。当我创建假程序集时,一切都编译得很好,所有引用都按预期添加到单元测试项目中。但是,在任何测试中运行以下代码

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页面:通过取消选中异常,没有错误,但执行已中断,似乎无法解决问题。通过撤消上一个建议,您需要这样做