jasmine实例01

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

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

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

第一个实例:

js中不可缺少的部分(ajax),对于ajax的请求,通常的ajax请求的

源码:

$.ajax({
            url: ‘c://url‘,
            type: ‘GET‘,
            name: ‘name‘,

data: params,

success : function(data) {
               if(data.errorMsg !== ‘‘) {

return;

}

},
            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(),替代被监视的函数,原函数不执行,执行里面的函数

第一部分先介绍到这里,第二部分等有时间起去更新,由于自己也是个菜鸟,可能会在描述的时候不清晰,希望大家多提意见,我会努力改正的,有不清楚的可以留言,我会解答的

时间: 2024-09-30 17:56:13

jasmine实例01的相关文章

ConfigParser 实例 01

# -*- coding: utf-8 -*-import ConfigParserconfig = ConfigParser.ConfigParser()config.readfp(open('ixamail.ini'))a = config.get("host","smtp_server")print aconfig.add_section("book")config.set("book", "title&quo

jasmine实例03

js中最常见的一种消息弹框alert(),我们在测试alert()的时候,就出现了一种困恼,就是我们既要去走这个alert(),有不想让这个alert()弹出去阻碍我们其他的测试效果,所以我们在研究这个的时候有了以下的操作, 源代码: alert(resultErrorMessage); 测试代码: //测试前准备 spyOn(window, "alert"); //结果断言 expect(window.alert).toHaveBeenCalled(); 大 家可以看出,我在第一部分

Spring.Net 简单实例-01(IOC)

1.话不多说看操作.新建"Windows窗体应用程序" 2:通过配置文件创建IOC容器 首先引入安装包 3:定义一个接口(更好的体现封装性,当然也可以直接使用类) 定义一个类,实现接口 4:配置App.config文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name=&q

Node聊天程序实例01

作者:vousiu 出处:http://www.cnblogs.com/vousiu 本实例参考自Mike Cantelon等人的<Node.js in Action>一书. 本实例要实现如下一个聊天App.左上的“Winter”为显示的房间的名字.中间为聊天消息,斜体字为系统消息,非斜体为聊天内容.右侧为房间列表,点击房间名可以进入房间.在下方输入框输入内容后,点击“提交”则可以发送聊天信息,或者发送更改昵称和更换房间的指令. 整个程序的架构图如下: 文件目录结构如下所示: 其中,socke

Struts2+DAO层实现实例01——搭建Struts2基本框架

实例内容 利用Strust2实现一个登陆+注册功能的登陆系统. 实现基础流程: 实现代码 JSP页面部分: <%-- 登陆页面 Created by IntelliJ IDEA. User: Richard Date: 2017/6/21 Time: 12:36 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UT

webservice快速实例01

1.服务器的建立 1.1.创建接口 1.2.创建实现类 1.3.开启服务 2.webservice 1.1.SEI(Service Endpoint Interface) : 服务提供的接口 2.2.SIB(Service Implemention Bean) : 服务实现的Bean 3.程序简单实例 package org.service; import javax.jws.WebService; @WebService public interface IMyService { public

20180911-Java实例01

Java 实例 – 如何编译 Java 文件 本文我们演示如何编译 HelloWorld.java 文件,其中 Java 代码如下: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }} 接下来我们使用 javac 命令来编译 Java 文件,并使用 java 命令执行编译的文件: c:\jdk\Alan> javac Hel

python静态网页爬虫实例01

前些日子学习了一些爬虫知识,鉴于时间较短,就只看了静态网页爬虫内容,而有关scrapy爬虫框架将在后续继续探索. 以下以重庆市统计局官网某页面爬取为例(http://tjj.cq.gov.cn/tjsj/sjjd/201608/t20160829_434744.htm): 0.程序代码 1 import requests 2 from bs4 import BeautifulSoup 3 4 headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10

JavaIO(01)File类详解

File类 file类中的主要方法和变量 常量: 表示路径的分割符:(windows) 作用:根据java可移植性的特点,编写路径一定要符合本地操作系统要求的分割符: public static final String separator public static final String pathSeparator package cn.itcast; import java.io.File; public class DemoFile02 { public static void mai