在UWP Apps中模拟框架

Sco*_*nry 27 c# unit-testing win-universal-app

我试图为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基础设施用于单元测试UWP应用程序?或者任何想法,如果动态代理支持即将在不久的将来为UWP提供?

谢谢!

nbi*_*lal 11

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

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

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

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

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


小智 6

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

访问HyperMock

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

Install-Package HyperMock.Universal
Run Code Online (Sandbox Code Playgroud)

使用通用版本的UWP项目.