jasmine实例01

我是一名菜鸟,由于最近项目中用到了这个jasmine,而且在网上也没有查找到什么jasmine实例解析这一块,因此想借此机会去写几篇关于jasmine实例应用解析的博文,但愿各位大牛不用狂喷,给新人一次机会吧,在此谢过,废话很少说。html

本人对jasmine先前也是没有一点了解,甚至都没有据说过有这么一个框架的存在,可是最近的项目中就运用到了这个jasmine框架,本身不得已的去学习了一下。先来了解什么是jasmine:git

 jasmine说白了就是用来测试js的一个框架,其实jasmine的官方网站(http://jasmine.github.io/)上也介 绍了好多的实例,可是我去参考他这个官方的东西时,没有几个可以和本身的项目关联起来,因而又去百度上找一下相关的信息,效果也不是很好,介绍 jasmine的这个信息至关少,并且大同小异,就是一些经常使用的关键函数,比较详细的是(http://www.cnblogs.com/zhcncn /p/4330112.html),可是他这里面的解释有一些官方了,你要是一点都不了解这个jasmine,可能运用到你的项目上时就会很难融合,不知 所措。我这里就不详细介绍函数是干什么的了,直接前往主题,用实例去解析,下面的实例我就不用官方上的那些例子了,直接上项目中我遇到的让我调查时间比较 长的一些例子github

第一个实例:ajax

        js中不可缺乏的部分(ajax),对于ajax的请求,一般的ajax请求的框架

    源码:函数

        $.ajax({
            url: 'c://url',
            type: 'GET',
            name: 'name',
学习

            data: params,测试

            success : function(data) {
               if(data.errorMsg !== '') {
网站

                     return;    
url

                }

            },
            error : function(XHR, Status, error) {
                console.log("log");
            }
        });

对于这种状况下的jasmine测试代码该去怎么实现呢,这里面我就借鉴了官网和百度上的一些例子去实现的:

        spyOn($, "ajax").and.callFake(function(options) {
            options.success({
                 errorMsg = "errorMsg"
            });
        });

    这个spyOn是jasmine里面最重要的一个函数,具体重要在哪里,能够看我先前发的两个网站上的介绍,使用spyOn()函数替代并 监控ajax调用,结合callFake()伪造ajax的返回处理。Ajax的success()和error()均可以制做相关的伪造功能,运行时代 替ajax功能,将须要的数据返回给被测函数。下面是error的场合:

        spyOn($, "ajax").and.callFake(function(options) {
                var XHR = {
                    "status" : "NG"
                };
                var Status = "error";
                var error= {
                    "message" : "it has an errormessage"
                };
                options.error(XHR, Status, error);
          });

    记住这个函数,callFake(),替代被监视的函数,原函数不执行,执行里面的函数

第一部分先介绍到这里,第二部分等有时间起去更新,因为本身也是个菜鸟,可能会在描述的时候不清晰,但愿你们多提意见,我会努力改正的,有不清楚的能够留言,我会解答的

相关文章
相关标签/搜索