• Windows Phone Unit Test 环境搭建


    单元测试对工程质量带来的作用就不详细说明了,本文只讨论如何在WP开发环境下搭建测试工程

       

    历史

    从WP7时代官方是不支持UnitTest工程的,因此需要采用WPToolkitTest这个工程来实施单元测试,

    可参考Nokia Develop上的文章:地址

    这种方式来搭建的测试环境,测试时需要在模拟器或者真机上点击开始测试按钮进行测试,如此方式笔者认为并不友好

    到了VS2012Update2发布之后官方的单元测试终于加入了进来,并且可以依靠VS的测试管理来更加方便的进行管理测试用例:

       

    搭建步骤

    参考MSDN中的教程:地址

    这个教程已经很清晰的说明了如何创建一个Windows Phone Unit Test 工程,但教程中未提及的内容还是有一些的,下面我们来一一解决这个问题:

    1、Async/Await

    来到了WP8时代,加入了await和async这两个关键字,显然这两个关键字对于程序结构的改善是明显的,因此在项目中我们也会自己来封装如此风格的接口,那么如果测试代码中存在此种风格的代码该如何测试呢?

    通过例子来看下:

       

    我们看上面这个接口,接口中的方法是通过token获取用户信息那么我们在测试的时候对应的测试代码应该这样来写:

       

    很关键的一个点就是要把测试函数加上async 和 Task修饰词,这样便可以正常的测试了

    2、mock库该怎么办

    提到单元测试就会说道mock这个概念,这里依然不详细展开来说明why mock 以及how to mock,可自己去关键词来搜索学习。

    在笔者的使用过程中发现,用nuget方式来添加mock库时,大多数的主流mock库都不支持Windows Phone:

       

    比如上面的Moq 这个库,这让人很沮丧。。。

    但有问题就自然有解决办法,我们不通过Nuget来添加,而是使用Silverlight版本的Moq,下载地址

    下载后找到编译好的Silverlight版本的dll添加到工程中:

    注意这两个都要添加进来,添加时会有警告,忽略了就可以了,如此我们的Moq库就可以正常使用了:

       

       

    上面的两个问题解决后Windows Phone下的测试环境搭建就完成了!

     

    WP8交流群:182659848

     

  • 相关阅读:
    关于ORALE将多行数据合并成为一行 报错未找到where关键字
    Input限制输入数字
    Dev Gridcontrol每行添加序号或者文本。
    Android studio SDK配置
    介数中心性快速计算
    Buuoj 被嗅探的流量
    Docker安装(win10)
    filter CTF
    MySQLdb._exceptions.OperationalError: (2026, 'SSL connection error: unknown error number')
    DNS解析原理(www.baidu.com)
  • 原文地址:https://www.cnblogs.com/tianhonghui/p/3530870.html
Copyright © 2020-2023  润新知