我试图为Unittest我的UWP应用找到一个好的模拟框架,似乎所有好的Mocking基础设施(MOQ,RhinoMocks等)都可以理解地依赖于UWP不支持的动态代理。
看起来MOQ知道这个限制:https://github.com/Moq/moq4/issues/195
是否有任何Mocking基础设施用于单元测试UWP应用程序?或者任何想法,如果动态代理支持即将在不久的将来为UWP提供?
谢谢!
我们(Microsoft BigPark Studio)刚刚发布了一个与UWP,.NetCore和.Net Framework(Nuget Etg.SimpleStubs
)兼容的模拟框架。该框架使用Roslyn生成存根。
为了绕开UWP中的Reflection.Emit
限制,框架在编译时生成存根。存根是在一个步骤中生成和编译的(在构建期间)。如果您曾经使用过VS Fakes,那么体验非常相似。
SimpleStubs是开源的,可以作为NuGet使用:
现在有一个名为HyperMock的框架,它以类似于.NET平台上其他框架的方式执行模拟。
由于这可以通过Nuget获得,您可以通过包管理器使用HyperMock.Universal找到它或通过包控制台安装它
Install-Package HyperMock.Universal
使用通用版本的UWP项目。