TDD for Windows Store应用程序开发没有模拟

时间:2012-09-23 01:59:40

标签: unit-testing mocking tdd windows-runtime

有没有人为Windows Store App开发提供良好的TDD设置?我已经习惯使用模拟框架,但由于WinRT中缺少动态程序集生成,因此这不再是一个选项。

我已经看过alpha MoqRT框架,但我希望避免在这样的实验阶段。我也被使用模拟对象所迷恋,我不愿使用作为Microsoft(Microsoft Fakes)替代品提供的存根或填充程序。

有没有人成功找到使用DI和正确隔离的TDD样式单元测试进行Windows应用商店应用开发的好技术?如果是这样,你做了什么?

修改

我还注意到我的“Windows Store App”单元测试项目中没有“Add Fakes Assembly”选项,因此可能不是一个选项。

2 个答案:

答案 0 :(得分:3)

我现在尝试的方法是将可测试代码放在常规的.NET 4.5程序集中,允许使用正常的单元测试项目对模拟进行单元测试。然后,在Windows应用商店应用项目中,将这些相同的源文件添加为链接。这是不方便的,因为我不得不在两个平台之间复制项目引用,我必须小心确保代码在两个项目中编译,但这种方法允许我使用更好的单元测试工具。

我仍然迫不及待地想看看是否有人想出更好的东西。

答案 1 :(得分:0)

您可以像习惯使用Telerik JustMock一样在Windows应用商店应用中进行模拟。它作为独立的安装程序提供,可以提供您在测试项目中导入的DLL。它是免费的,但您必须先注册。

语法与Moq没那么不同。请记住还要添加名称空间Telerik.JustMock.Helpers以添加有用的扩展名。

我目前正在使用它来使用Prism.StoreApps开发Universall应用程序。使用JustMock,我现在能够单独测试我的ViewModel。我现在可以对我的软件的所有层进行单元测试,我不再被迫创建PCL层。它们现在是Portable 8.1项目。