【问题标题】:Unit Testing a Windows Phone 7.1 library对 Windows Phone 7.1 库进行单元测试
【发布时间】:2012-04-21 05:10:01
【问题描述】:

我对 Windows Phone 开发非常陌生,我读到过,例如 here,没有针对 Windows Phone 应用程序的单元测试框架。

这我觉得很奇怪,例如,如果我有一个包含一堆执行操作的类的类库,我将创建一个单元测试项目,添加类库的引用并以与我相同的方式对每个类进行单元测试一直都有。

所以我创建了一个虚拟的 Windows Phone 类库,其中包含一个带有 Add(int x, int y) 方法的 MyClass 类,并将其引用添加到一个常规测试项目。

有趣的是,引用上有一个警告标志,但测试会相应地运行、通过和失败。

所以我的问题是:

单元测试 Windows Phone 代码的真正意义是什么?
为什么测试项目中引用Windows Phone类库会出现警告标志?

感谢您的启发:)

【问题讨论】:

  • 几乎所有都是 windows phone 7 开发的新手 :)

标签: c# windows-phone-7.1


【解决方案1】:

我一直在 WP7 上进行一些测试驱动的开发。我将 NUnit 和 Moq for Silverlight 用于我的隔离框架。有一篇很棒的博客文章介绍了在 Windows Phone 7 上使用 NUnit 和 Moq 以及处理一些奇怪的视频,http://toranbillups.com/blog/archive/2011/07/24/Test-Driving-My-Windows-Phone-7-App。 到目前为止,我看到的大部分内容都是更多的集成测试,并且对大多数 WP7 应用程序都非常有效。

编码愉快!!

【讨论】:

    【解决方案2】:

    您绝对可以对 Windows Phone 7 代码进行单元测试。我相信现在 NUnit 支持它,甚至在它很新的时候,还有 Silverlight Unit Test Framework。您可能会发现您通常使用的其他一些技术要么受到限制,要么不存在(例如,当我编写 WP7 应用程序时,我认为没有任何模拟库可以使用它),而且通常会更痛苦一些比使用完整框架进行单元测试,但这绝对是可行的。

    哦,您可能会发现自己想要隐藏框架其余部分的一些抽象,例如WebRequest,以便您可以测试想要使用这些抽象的东西。我发现这很痛苦,但可行...

    【讨论】:

    • 谢谢乔恩。我肯定打算从电话页面中抽象出所有逻辑,我正在考虑采用 MVP 风格,以便可以测试所有逻辑,并且可能模拟不会让我太头疼。附言我在看你书的第 4 章,我发现它非常有趣且很有帮助,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多