[Unit test] jasmine createSpyObj】的更多相关文章

beforeEach(() => { contextStub = { debug: false, engine: jasmine.createSpyObj('engine', [ 'createCollection', 'createContext', 'createSchematic', 'createSourceFromUrl', 'transformOptions', 'executePostTasks' ]), logger: jasmine.createSpyObj('logger',…
angularjs自动化测试系列之jasmine jasmine参考 html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Jasmine Spec Runner v2.4.1</title> <link rel="shortcut icon" type="imag…
参考: http://www.cnblogs.com/wushangjue/p/4541209.html http://keenwon.com/1191.html http://jasmine.github.io/2.0/introduction.html /* Created by laixiangran on 2015/12/15. jasmine测试脚本 */ (function() { /* jasmine基本语法介绍: describe(string, function):可以理解为是…
最近的项目在使用AngulaJs,对JS代码的测试问题就摆在了面前.通过对比我们选择了 Karma  + jasmine ,使用 Jasmine做单元测试 ,Karma 自动化完成,当然了如果使用 Karma  + jasmine 前提是必须安装 Nodejs. 安装好 Nodejs ,使用 npm 安装好必要的包,写了一个测试用例,测试通过,很好很强大. 没有 Nodejs 环境可以使用 Jasmine 做单元测试吗?当然可以,我们可以到 官网下一个示例看一看,比较简单.今天先讲一下如果直接使…
Javascript单元测试框架比较Qunit VS Jasmine 工欲行其事必先利其器,好的单元测试框架是TDD成功的一半.Javascript优秀的测试框架很多, 包括Jasmine,Qunit,JsTestDriver,JSUnit,Mocha等,当然你也可以写自己的单元测试框架,本文主角是Jasmine和Qunit.我之前一直用Qunit来做单元测试,Qunit在中国占有率是非常高的,我也不例外,而美国同事们已经用到Jasmine了,为了做一个更好的选型,决定对这两个框架做了一个小小的…
简介 Jasmine 是JavaScript的测试框架,它不依赖其他框架,也不依赖DOM,更重要的是它语法简单.以下实例都是基于Jasmine 2.5.2的,并且来自官网:https://jasmine.github.io/edge/introduction 安装 安装推荐使用npm安装,需要本地和全局安装. #本地安装 npm install -D jasmine #全局安装 npm install -g jasmine #用jasmine初始化项目 jasmine init #可以生成示例…
第一次写单元测试. 以前一直都有听说 TDD 的事情. 今天总算是去尝试了一下. 先说说 TDD 的想法, 是这样的, 开发项目的流程 : 确定需求 -> 写类,接口,方法的名字(不写具体实现代码哦) -> 写测试代码 -> 这时测试的话一定是全部 fail 因为实现代码还没写嘛 -> 写实现代码 -> 运行测试 ... 这样的流程适合需要敏捷开发的项目, 如果你的项目经常需要扩展, 而且扩展往往是不在预计范围内的, 那么你必然需要使用敏捷开发模式和流程. 也只有把测试写好,…
上一篇 Jasmine入门(上) 介绍了Jasmine以及一些基本的用法,本篇我们继续研究Jasmine的其他一些特性及其用法(注:本篇中的例子均来自于官方文档). Spy Spy用来追踪函数的调用历史信息(是否被调用.调用参数列表.被请求次数等).Spy仅存在于定义它的describe和it方法块中,并且每次在spec执行完之后被销毁. 示例1: (function(){ describe("A spy", function() { var foo, bar = null; befo…
Jasmine有称为间谍(spies)的测试双重功能.一个spy可以监测任何函数的调用和参数的调用痕迹.Spy只能存在于定义它的describe()和it()代码块内,而在每一个spec(即it)结束后将被移除.(这个语法在Jasmine2.0才改变的) 有几个特别的Matchers与spy相互作用: toHaveBeenCalled():在spy被调用是返回true: toHaveBeenCalledTimes():在spy调用指定次数的时候会通过测试: toHaveBeenCalledWit…
原文地址:http://my.oschina.net/ilivebox/blog/293771 目录[-] Promise 简单例子 链式 Promise Parallel Promises And 'Promise-Ifying' Plain Values AngularJS 中的实际应用 实际链式例子 测试 Promise - 基于代码 Promises And Design Patterns 写得好长好长好长长~ 解决 Javascript 异步事件的传统方式是回调函数:调用一个方法,然后…
解决 Javascript 异步事件的传统方式是回调函数:调用一个方法,然后给它一个函数引用,当这个方法完结的时候执行这个函数引用. <!-- lang: js --> $.get('api/gizmo/42', function(gizmo) { console.log(gizmo); // or whatever }); 看起来很不错对不对,不过,也有缺点的:首先,合并或者链接多个异步过程超复杂:要么就是大量的模板代码,要么就是嗯哼你懂的回调地狱(一层套一层的回调): <!-- la…
1.      什么是单元测试 在计算机编程中,单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单个程序.函数.过程等:对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子类)中的方法. 每个理想的测试案例独立于其它案例:为测试时隔离模块,经常使用stubs.mock 或fake等测试马甲程序.单元测试通常由软件开发人员编写,用于确保他们所写的代码符合软件需求和遵循开发目…
1.      什么是单元测试 在计算机编程中,单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单个程序.函数.过程等:对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子类)中的方法. 每个理想的测试案例独立于其它案例:为测试时隔离模块,经常使用stubs.mock 或fake等测试马甲程序.单元测试通常由软件开发人员编写,用于确保他们所写的代码符合软件需求和遵循开发目…
Install: npm install — save-dev jasmine-marbles Basic example: import {cold, getTestScheduler} from 'jasmine-marbles'; import 'rxjs/add/operator/concat'; describe('Test', () => { it('concat', () => { const one$ = cold('x-x|'); const two$ = cold('-y|…
1.JS中let和const有什么用? 在现代js中,let&const是创建变量的不同方式. 在早期的js中,咱们使用var关键字来创建变量. let&const关键字是在ES6版本中引入的,其目的是在js中创建两种不同类型的变量,一种是不可变的,另一种是可变的. const:它用于创建一个不可变变量.不可变变量是指其值在程序的整个生命周期中永不改变的变量. let: let用于创建一个可变变量,可变变量是像var这样的普通变量,可以任意次数地更改. 2. JS 中的主要有哪几类错误 J…
Most of time, when we want to test function call inside a promise, we can do: it('Should be async', function(done) { someAsyncFunction().then(function(result) { expect(result).toBe(true); done(); }); }); It is important to call 'done()', otherwise, t…
1.Karma介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma.Karma是一个让人感到非常神秘的名字,表示佛教中的缘分,因果报应,比Cassandra这种名字更让人猜不透! Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner).该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuous integration)工具,也可和其他代码编…
1. QUnit A JavaScript Unit Testing framework. QUnit is a powerful, easy-to-use JavaScript unit testing framework. It's used by the jQuery, jQuery UI and jQuery Mobile projects and is capable of testing any generic JavaScript code. Features:- Similar…
Jasmine的开发团队来自PivotalLabs,他们一开始开发的JavaScript测试框架是JsUnit,来源于著名的JAVA测试框架JUnit.JsUnit是xUnit的JavaScript实现.但是JsUnit在2009年后就已经停止维护了,他们推出了一个新的BDD框架Jasmine.Jasmine不依赖于任何框架,所以适用于所有的Javascript代码. 所谓BDD(行为驱动开发,Behaviour Driven Development),是一种新的敏捷开发方法.Dan North…
关于 Karma 会是一个系列,讨论在各种环境下,使用 Karma 进行单元测试. 本文讨论 karma 集成 Jasmine 进行单元测试. 初始化 NPM 实现初始化 NPM 包管理,创建 package.json 项目管理文件. 使用参数 -y 直接按照默认值创建 packgae.json 项目管理文件. PS C:\study\mykarma> npm init -y Wrote to C:\study\mykarma\package.json: { "name": &q…
1. 关于Karma Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner). 该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuous integration). 这个测试工具的一个强大特性就是,它可以监控(Watch)文件的变化,然后自行执行,通过console.log显示测试结果. 2. Karma集成Jasmine进行单元测试 a.初始化 NPM 实现初始化 NPM 包管理,创建 package.json 项目管理文件.…
使用cordova.angularjs.ionic开发hybrid App有一段时间了.为了做单元测试,之前一直是把要测的某一部分产品代码复制到另一个单独的工程中来写测试代码,测好了以后再复制回去.弊端显而易见.于是就想,能不能在同一份产品代码上做单元测试呢? 搜百度,结果千篇一律,而且语焉不详,一点实践意义都没有.还是谷歌好,给出了三篇非常具体的指导文章,请看附录. 一.我的工程概况 因为是cordova工程,所以除了www之外还有别的很多目录,这里不一一列出.以下只看www目录: + www…
Install Karam: npm install -g karma npm install -g karma-cli Init Karam: karma init First test: 1. Add test file to the karma.conf.js: // list of files / patterns to load in the browser files: [ 'test/hello.js' ], 2. Add test file: describe('First Un…
在进行前端开发过程中,在某些场景下,需要通过编写单元测试来提高代码质量.而JavaScript常用的单元测试框架有这几个:QUnit, Jasmine, MoCha.下面就基于这三个工具,简单做一比较: 1. QUnit QUnit是一个JavaScript单元测试框架. 它是个强大,容易使用和上手的JavaScript单元测试框架.它被用于进行 jQuery, jQuery UI and jQuery 移动工程的测试,以及其他通用的JavaScript代码测试. Features:- Simi…
Pester is a BDD inspired testing framework for PowerShell just like Jasmine is on the JavaScript side and RSpec is on the Ruby side for example (I do believe that JavaScript is one of the best comparisons for PowerShell though, it being a scripting l…
以下内容转自 https://codeutopia.net/blog/2015/04/11/what-are-unit-testing-integration-testing-and-functional-testing/,有空了我会翻译一下.嘎嘎 What are Unit Testing, Integration Testing and Functional Testing? TAGS: TESTING Finding your way around the maze that is Jav…
测试应用 1.测试路由 我们需要检测路由是否在运作,是否找到了,或者是404了.我们要确认路由事件触发了,预期的模板是否真的加载了.既然路由会改变页面的地址(URL)和页面内容,我们需要检测路由是否被加载了,页面是否找到了,在这中间发生了什么. 一段简单的路由代码: angular.module('myApp', ['ngRoute']) .config(function($routeProvider) { $routeProvider .when('/', { templateUrl: 'vi…
AngularJS测试 一 测试工具 1.NodeJS领域:Jasmine做单元测试,Karma自动化完成单元测试,Grunt启动Karma统一项目管理,Yeoman最后封装成一个项目原型模板,npm做nodejs的包依赖管理,bower做javascript的包依赖管理.Java领域:JUnit做单元测试, Maven自动化单元测试,统一项目管理,构建项目原型模板,包依赖管理. Nodejs让组合变得更丰富,却又在加重我们的学习门槛.唉...... 2.Karma Karma是一个测试工具,它…
Angularjs 基于karma和jasmine的单元测试 目录: 1. 单元测试的配置 2. 实例文件目录解释 3. 测试controller     3.1 测试controller中变量值是否正确     3.2 模拟http请求返回值,测试$http服务相关 4. 从文件中读取json,来模拟 http请求返回数据 5. 测试返回promise的service 已经有很多教程提到了angularjs项目的单元测试,但大都不是很全,如一些入门的文章,介绍了测试http service 却…
目录: 1. 单元测试的配置 2. 实例文件目录解释 3. 测试controller     3.1 测试controller中变量值是否正确     3.2 模拟http请求返回值,测试$http服务相关 4. 从文件中读取json,来模拟 http请求返回数据 5. 测试返回promise的service 已经有很多教程提到了angularjs项目的单元测试,但大都不是很全,如一些入门的文章,介绍了测试http service 却没有介绍如何从文件中读取测试数据来仿真.一些介绍如何从文件中读…