UnitTestIsolationException:调试单元测试 ShimsContext.Create
UnitTestIsolationException: Debug Unit Test at ShimsContext.Create
当我尝试调试单元测试时,收到以下异常消息:
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() at
Sample.Business.Tester.ProcessorManagerTest.Test_first_run_ever() in
d:\Folder1\Sample.Business.Tester\ProcessorManagerTest.cs:line 62
密码是:
var prc = new ProcessorManager(ProcessRepository,ProcessStatusRepository);
using (ShimsContext.Create())
{
ShimDateTime.NowGet = () => new DateTime(2015, 10, 1);
prc.Run();
}
在ShimsContext.Create()
处抛出异常。
我查看了 Visual Studio 2012 fakes UnitTestIsolation instrumentation failed to initialize,并尝试了那里的所有步骤,但对我不起作用。我没有使用 Nunit。
如果您的单元测试项目存在与假货或垫片相关的问题,请执行以下操作:
- 在参考资料中,删除这些 dll:
- Microsoft.QualityTools.Testing.Fakes
- Microsoft.VisualStudio.QualityTools.UnitTestFramework
- System.4.0.0.0.Fakes
- mscorlib.4.0.0.0.Fakes
- 同样在 "Fakes" 文件夹中,删除这些文件:
- mscorlib.fakes
- System.fakes
- 添加dll:
- Microsoft.QualityTools.Testing.Fakes
- Microsoft.VisualStudio.QualityTools.UnitTestFramework
来自以下源路径:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies
- 右键单击 "System.dll" 并在上下文菜单中选择 "Add fake assembly"。
- 清理项目。
- 构建项目。
此处出现类似错误。可以通过使用 "Visual Studio Installer" 修复 VS 安装来解决。 VS Enterprise 2017 版本 15.6.6
当我尝试调试单元测试时,收到以下异常消息:
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() at Sample.Business.Tester.ProcessorManagerTest.Test_first_run_ever() in d:\Folder1\Sample.Business.Tester\ProcessorManagerTest.cs:line 62
密码是:
var prc = new ProcessorManager(ProcessRepository,ProcessStatusRepository);
using (ShimsContext.Create())
{
ShimDateTime.NowGet = () => new DateTime(2015, 10, 1);
prc.Run();
}
在ShimsContext.Create()
处抛出异常。
我查看了 Visual Studio 2012 fakes UnitTestIsolation instrumentation failed to initialize,并尝试了那里的所有步骤,但对我不起作用。我没有使用 Nunit。
如果您的单元测试项目存在与假货或垫片相关的问题,请执行以下操作:
- 在参考资料中,删除这些 dll:
- Microsoft.QualityTools.Testing.Fakes
- Microsoft.VisualStudio.QualityTools.UnitTestFramework
- System.4.0.0.0.Fakes
- mscorlib.4.0.0.0.Fakes
- 同样在 "Fakes" 文件夹中,删除这些文件:
- mscorlib.fakes
- System.fakes
- 添加dll:
- Microsoft.QualityTools.Testing.Fakes
- Microsoft.VisualStudio.QualityTools.UnitTestFramework
来自以下源路径:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies
- 右键单击 "System.dll" 并在上下文菜单中选择 "Add fake assembly"。
- 清理项目。
- 构建项目。
此处出现类似错误。可以通过使用 "Visual Studio Installer" 修复 VS 安装来解决。 VS Enterprise 2017 版本 15.6.6