9

我目前正在使用 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

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

感谢所有建议!

4

1 回答 1

2

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

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

如果您使用 TFS,也可以使用 Visual Studio 测试运行程序。

于 2012-09-13T11:11:23.853 回答