当我编写单元测试时,我喜欢使用Rhino Mocks。
因此,当我开始第一个Windows应用商店应用程序时,我自然而然地开始使用我的单元测试。当我尝试通过RhinoMocks添加NuGet时,我收到了以下错误
无法安装软件包'RhinoMocks 3.6.1'。你正试图 将此包安装到目标项目中 '.NETCore,Version = v4.5',但包中不包含任何程序集 与该框架兼容的引用。更多 信息,请联系包裹作者。
我和Moq有同样的问题。
是否有.NETCor的模拟框架,Version = v4.5?
答案 0 :(得分:15)
大多数模拟框架都基于Reflection.Emit
。不幸的是,Reflection.Emit
不在WinRT中。这意味着您无法执行动态代理。 (即运行时模拟)。这样就可以预先生成在编译时引用的mocks。我所知道的唯一框架是Moq的实验分支:https://github.com/mbrit/moqrt
答案 1 :(得分:2)
我将其用于Windows Phone 7,应该与Win 8一起使用,因为它只是一个构建后的步骤:
答案 2 :(得分:1)
以下是我的建议,请注意我自己还没有测试过这些。 Here是指向讨论前两个选项的文章的链接。
答案 3 :(得分:0)
实际上,Philipp Dolder,FakeItEasy的贡献者之一已经提出了一种基于便携式类库的有趣且有效的方法。 http://www.planetgeek.ch/2013/02/01/fakeiteasy-and-windows-store-apps-are-becoming-friends/
实质上,他提出了以下解决方案:
答案 4 :(得分:-1)
我知道最初的问题已经过时了,但仍有许多人试图在Windows应用商店应用中进行模拟。
我最近开始使用MoqaLate声明:模拟Windows Phone& Windows应用商店应用。 在构建解决方案之后,它实际上是在物理上创建MockingClasses。 因此,在构建之后,您将拥有一个包含类的Mock实现的文件夹。
我认为不是最好的选择。运行时模拟将是理想的,但同时它为我创建了模拟。