从MSTest或Resharper运行测试时出现ShimNotSupportedException

Tho*_*del 9 msbuild resharper mstest microsoft-fakes visual-studio-2012

我目前正在使用Microsoft Visual Studio 2012和新的Fakes框架.在将我的单元测试添加到MSBuild和持续集成过程之后,Fakes单元测试恰好引发了ShimNotSupportedException.

我尝试了不同的东西并阅读了这个问题并发现,这只发生在我从Resharper功能运行测试时,或者直接在MSTest代码中运行.从测试菜单栏运行时不会发生这些异常,这使我考虑检查此功能的设置文件.

经过进一步研究后,我发现一些文章说它可能与Resharper或MSTest设置中指定的代码覆盖率设置有关,如果你关闭它,它就解决了这个问题.MS VisualStudio 2012中的ShimNotSupportedException也与该问题有关.

我还在MSDN上找到了关于该问题的一些输入,这证实了它必须对代码覆盖做一些事情:http://social.msdn.microsoft.com/Forums/en-US/vstest/thread/17fcfdc6- 1cda-4692-a242-656b48195327 /http://social.msdn.microsoft.com/Forums/en-US/vstest/thread/bfa792b0-b3fc-4a51-b49d-f7aaf1f2f4b8.

然而,由于我必须尽快将代码覆盖实现到持续集成过程中,并且跳过该部分不是一个选项,我现在在这里询问有关此问题的任何建议,以及是否有任何解决方案来解决该问题!

谢谢你的建议!

Njå*_*aug 2

MsTest 不支持 Fakes:http://msdn.microsoft.com/en-us/library/ms253138.aspx

以下是如何从 Team City 运行 Visual Studio Testrunner(支持 Fakes):http://blog. Degree.no/2012/09/unit-testing-visual-studio-2012-fakes-in-team-city/

如果您使用 TFS,还可以使用 Visual Studio Testrunner。