UWP Apps中的模拟框架

我试图为Unittest我的UWP应用找到一个好的模拟框架,似乎所有好的Mocking基础设施(MOQ,RhinoMocks等)都可以理解地依赖于UWP不支持的动态代理。

看起来MOQ知道这个限制: https : //github.com/Moq/moq4/issues/195

在这种情况下,微软的帮助不大: https : //social.msdn.microsoft.com/Forums/en-US/652b9d16-c4ab-401c-9239-0af01108e460/uwp-is-there-any-indication-that-窗口-10- UWP的通用的应用程序意志支持码发射?论坛= wpdevelop

是否有任何Mocking基础设施用于unit testingUWP应用程序? 或者任何想法,如果动态代理支持即将在不久的将来为UWP提供?

谢谢!

我们(Microsoft BigPark Studio)刚刚发布了一个与UWP,.NetCore和.Net Framework(Nuget Etg.SimpleStubs )兼容的模拟框架。 该框架使用Roslyn生成存根。

为了解决UWP中的Reflection.Emit限制,框架在编译时生成存根。 存根是在一个步骤中生成和编译的(在构建期间)。 如果您曾经使用过VS Fakes,那么体验非常相似。

SimpleStubs是开源的,可以作为NuGet使用:

文档: https : //github.com/Microsoft/SimpleStubs

NuGet: https : //www.nuget.org/packages/Etg.SimpleStubs/

现在有一个名为HyperMock的框架,它以类似于.NET平台上其他框架的方式执行模拟。

访问HyperMock

由于这可以通过Nuget获得,您可以通过包管理器使用HyperMock.Universal找到它或通过包控制台安装它

 Install-Package HyperMock.Universal 

使用通用版本的UWP项目。