- 浏览: 3319232 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (567)
- Web前端-html/表单 (19)
- Web前端-CSS (24)
- Web前端-CSS框架 (4)
- Web前端-JS语言核心 (50)
- Web前端-JS客户端 (26)
- nodejs生态+grunt (10)
- seajs和requirejs (9)
- backbone等框架 (7)
- 模板基础 (7)
- Web前端-deps(不改动) (6)
- Web前端-component (10)
- Web前端-jquery-plugin (13)
- 浏览器兼容性 (6)
- Web前端-使用jQuery (25)
- Web前端-使用jqueryui (6)
- Web前端-性能优化 (3)
- Web协议-HTTP (6)
- ExtJS (13)
- PHP (22)
- PHP面向对象 (4)
- PHP扩展-SOAP (6)
- PHP扩展-curl (4)
- PHP与HTML(导出) (5)
- PHP扩展-综合 (7)
- mysql基础应用 (18)
- 技术心情 (18)
- 算法和面试题 (17)
- 工具(开发)使用 (36)
- memcached原理 (2)
- session和cookie (4)
- UML (2)
- Web前端_FusionCharts (5)
- Web前端_Flex (4)
- Web前端_JSP (3)
- JavaSE (10)
- JavaEE (4)
- tomcat (2)
- Servlet开发 (3)
- Spring开发 (1)
- REST相关 (2)
- 大访问量、高并发 (2)
- 网络编程 (1)
- YII (21)
- linux命令和内核 (12)
- yii与数据库 (10)
- yii与表单 (12)
- yii view层 (1)
- perl (7)
- yii扩展 (7)
- shell (4)
- photoshop (7)
- 视觉设计 (2)
- 我关注的名人在路上 (4)
- 1-自学能力 (1)
- 2-人际沟通能力 (3)
- 3-职业规划能力 (7)
- 4-项目管理能力 (2)
- python (3)
- django (4)
- Mysql高级应用 (6)
- prototype.js (4)
- Web系统安全 (1)
- Web前端-mobile (2)
- egret (6)
- jQuery源码分析 (5)
- fis (4)
最新评论
-
yzq21056563:
感谢作者分享~请教下,http://www.lisa33xia ...
CSS基础:text-overflow:ellipsis溢出文本 -
u012206458:
$.ajax的error,complete,success方法 -
DEMONU:
谢谢,虽然不能给你赞助,但是要给你顶
mysql中key 、primary key 、unique key 与index区别 -
njupt_tolmes:
阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿滕庆亚 ...
CSS基础:text-overflow:ellipsis溢出文本 -
zenmshuo:
用过SpreadJS,也包含数据可视化的图表
推荐几个web中常用js图表插件
作者:zccst
单测,在前端,对于我而言,还是第一次。得好好学学单测了。
看看介绍,慢慢来。
参考:
官方文档:http://jasmine.github.io/2.0/introduction.html
https://gist.github.com/OakRaven/2623232
断断续续看了两次,基本看懂了,下面是一些基础的用法,高级用法另写一篇吧
单测,在前端,对于我而言,还是第一次。得好好学学单测了。
看看介绍,慢慢来。
参考:
官方文档:http://jasmine.github.io/2.0/introduction.html
https://gist.github.com/OakRaven/2623232
断断续续看了两次,基本看懂了,下面是一些基础的用法,高级用法另写一篇吧
describe("Player", function() { var player; var song; beforeEach(function() { player = new Player(); song = new Song(); }); it("should be able to play a Song", function() { player.play(song); expect(player.currentlyPlayingSong).toEqual(song); //demonstrates use of custom matcher expect(player).toBePlaying(song); }); describe("when song has been paused", function() { beforeEach(function() { player.play(song); player.pause(); }); it("should indicate that the song is currently paused", function() { expect(player.isPlaying).toBeFalsy(); // demonstrates use of 'not' with a custom matcher expect(player).not.toBePlaying(song); }); it("should be possible to resume", function() { player.resume(); expect(player.isPlaying).toBeTruthy(); expect(player.currentlyPlayingSong).toEqual(song); }); }); // demonstrates use of spies to intercept and test method calls it("tells the current song if the user has made it a favorite", function() { spyOn(song, 'persistFavoriteStatus'); player.play(song); player.makeFavorite(); expect(song.persistFavoriteStatus).toHaveBeenCalledWith(true); }); //demonstrates use of expected exceptions describe("#resume", function() { it("should throw an exception if song is already playing", function() { player.play(song); expect(function() { player.resume(); }).toThrowError("song is already playing"); }); }); /**/ describe("The 'toEqual' matcher", function() { //测toBe it("The 'toBe' matcher compares with ===", function() { var a = 12; var b = a; expect(a).toBe(b); expect(a).not.toBe(null); }); //测toEqual it("works for simple literals and variables", function() { var a = 12; expect(a).toEqual(12); }); it("should work for objects", function() { var foo = { a: 12, b: 34 }; var bar = { a: 12, b: 34 }; expect(foo).toEqual(bar); }); //测toMatch it("The 'toMatch' matcher is for regular expressions", function() { var message = "foo bar baz"; expect(message).toMatch(/bar/); expect(message).toMatch("bar"); expect(message).not.toMatch(/quux/); }); //测toBeDefined it("The 'toBeDefined' matcher compares against `undefined`", function() { var a = { foo: "foo" }; expect(a.foo).toBeDefined(); expect(a.bar).not.toBeDefined(); }); //测`toBeUndefined` it("The `toBeUndefined` matcher compares against `undefined`", function() { var a = { foo: "foo" }; expect(a.foo).not.toBeUndefined(); expect(a.bar).toBeUndefined(); }); //测toBeNull it("The 'toBeNull' matcher compares against null", function() { var a = null; var foo = "foo"; expect(null).toBeNull(); expect(a).toBeNull(); expect(foo).not.toBeNull(); }); //测toBeTruthy it("The 'toBeTruthy' matcher is for boolean casting testing", function() { var a, foo = "foo"; expect(foo).toBeTruthy(); expect(a).not.toBeTruthy(); }); //测toBeFalsy it("The 'toBeFalsy' matcher is for boolean casting testing", function() { var a, foo = "foo"; expect(a).toBeFalsy(); expect(foo).not.toBeFalsy(); }); //测toContain(针对数组) it("The 'toContain' matcher is for finding an item in an Array", function() { var a = ["foo", "bar", "baz"]; expect(a).toContain("bar"); expect(a).not.toContain("quux"); }); //测toBeLessThan it("The 'toBeLessThan' matcher is for mathematical comparisons", function() { var pi = 3.1415926, e = 2.78; expect(e).toBeLessThan(pi); expect(pi).not.toBeLessThan(e); }); //测toBeGreaterThan it("The 'toBeGreaterThan' matcher is for mathematical comparisons", function() { var pi = 3.1415926, e = 2.78; expect(pi).toBeGreaterThan(e); expect(e).not.toBeGreaterThan(pi); }); //测toBeCloseTo,第二个参数比较费解,看源码后知道是10的x次方,然后四舍五入 it("The 'toBeCloseTo' matcher is for precision math comparison", function() { var pi = 3.1415926, e = 2.78; expect(pi).not.toBeCloseTo(e, 2);//乘以10的2次方,扩大100倍,然后四舍五入 expect(pi).toBeCloseTo(e, 0);//乘以10的0次方,扩大1倍,然后四舍五入 }); //测toThrow it("The 'toThrow' matcher is for testing if a function throws an exception", function() { var foo = function() { return 1 + 2; }; var bar = function() { return a + 1; }; expect(foo).not.toThrow(); expect(bar).toThrow(); }); }); //The this keyword describe("A spec", function() { var bar1; //beforeEach,afterEach里可以设置this.xx变量,而且在全部it里有效 beforeEach(function() { this.foo = 0; bar1 = "hello";//有效 }); //但是一个it里的this.xx变量,在另一个it里无效 it("can use the `this` to share state", function() { expect(this.foo).toEqual(0); this.bar = "test pollution?"; //bar1 = "hello";//无效 }); it("prevents test pollution by having an empty `this` created for the next spec", function() { expect(this.foo).toEqual(0); expect(this.bar).toBe(undefined);//true,未被另一个it污染 expect(bar1).toBe("hello"); }); }); //嵌套 describe("A spec", function() { var foo; beforeEach(function() { foo = 0; foo += 1; }); afterEach(function() { foo = 0; }); it("is just a function, so it can contain any code", function() { expect(foo).toEqual(1); }); it("can have more than one expectation", function() { expect(foo).toEqual(1); expect(true).toEqual(true); }); //先执行内部describe,再执行外部的afterEach //外部的变量,可以在内部describe访问 describe("nested inside a second describe", function() { var bar; beforeEach(function() { bar = 1; }); it("can reference both scopes as needed", function() { expect(foo).toEqual(bar); }); }); }); //对于describe,直接改成xdescribe即可 //悬而未决,挂起 运行后,点击显示是*号。 describe("Pending specs", function() { xit("can be declared 'xit'",function(){ expect(true).toBe(false); }); it("can be declared with 'it' but without a function"); it("can be declared by calling 'pending' in the spec body", function() { expect(true).toBe(false); pending(); }); }); });
发表评论
-
已有 JS 模块化和打包方案收集
2015-08-30 11:49 3246模块化方案 RequireJS AMD ... -
dragonfly环境搭建——markdown
2015-01-03 21:30 1288作者:zccst Markdown一直没学会,真是郁闷,留爪 ... -
dragonfly环境搭建——jsDuck
2015-01-03 18:14 3029作者:zccst 环境安装好了,发现注释也是一个大坑,比如@ ... -
grunt搭建项目实例+grunt.initConfig配置详解
2014-12-31 12:02 8925作者:zccst 参考网址: ... -
基于node+npm+grunt构建一个中型项目
2014-12-29 18:37 3220作者:zccst 参考资料:如何使用 Grunt 构建一个中 ... -
nodejs安装(Windows)及第一个运行的小例子
2014-08-20 19:13 1021作者:zccst 安装nodejs已经有一段时间了,但是除用 ... -
grunt使用
2014-08-20 15:36 1544作者:zccst Q:Grunt为何 ... -
npm使用
2014-08-20 15:35 885作者:zccst 2015-08-30 在一个新文件夹下创 ... -
了解node.js(安装与配置)
2013-11-03 23:21 11592015-05-28 nodejs的安装与配置 1,下载Win ...
相关推荐
《DragonFly四轴无人机技术详解》 在当今的科技领域,无人机已经成为了一个备受瞩目的热点。本资料包“DragonFly_四轴_teethjde_dragonfly资料包_Dragonfly_drone.zip”聚焦于名为“DragonFly”的四轴无人机,其中...
本次资料包——"DragonFly_四轴_teethjde_dragonfly资料包_Dragonfly_drone_源码.rar.rar",为我们提供了宝贵的源码资源,让我们有机会深入了解这款无人机的运作机制。 首先,"DragonFly"这个名字暗示了这款无人机...
《PyPI官网下载:Dragonfly Grasshopper 1.10.5——探索分布式与云原生Python库》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球Python用户提供了丰富的第三方库,方便了软件开发。在本文中,...
《PyPI官网下载|Dragonfly Core 1.18.3——深入理解分布式与云原生的Python库》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python爱好者提供了丰富的第三方库下载服务。在PyPI官网上,...
opera dragonfly插件下载opera dragonfly插件下载opera dragonfly插件下载
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,...
在不同的背景和颜色搭配下,字体的对比度和反差也会影响阅读效果,因此,理解Dragonfly在不同环境下的表现对于设计师来说至关重要。 此外,了解字体的版权和使用许可也是必不可少的。如果是商业用途,设计师需要...
《Python库Dragonfly Energy详解——实现高效能源管理的利器》 在Python的生态系统中,库是开发者们不可或缺的工具,它们极大地丰富了Python的功能,提高了开发效率。今天我们将聚焦于一个名为“Dragonfly Energy”...
Python-Dragonfly是一个开源的Python库,专门设计用于可扩展的贝叶斯优化。这个库在机器学习领域具有广泛的应用,特别是在高维度和大规模优化问题上。贝叶斯优化是一种有效的全局优化方法,它利用概率模型来平衡探索...
【VC控件(Dragonfly Automation Software)扩展版本】是一款针对Visual C++(VC++)开发环境,基于MFC(Microsoft Foundation Classes)框架的高级控件集。这款控件库为开发者提供了丰富的功能,旨在简化自动化软件的...
《PyPI官网下载:Dragonfly-Grasshopper 1.26.2——Python库在分布式环境中的应用》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python开发者提供了丰富的开源软件包。在PyPI官网上,我们...
dragonfly-s3_data_store, Dragonfly ruby gem的S3数据存储 Dragonfly::S3DataStoreAmazon AWS数据存储,用于蜻蜓 gem 。gem 'dragonfly-s3_data_store'用法配置( 请记住要求)require 'dragonfly/
文档中提到该设备已经过测试,符合FCC的Class A数字设备规则,这表明设备适用于商业环境,但若在居民区使用可能会对无线电通信造成干扰。 6. 文档中强调了设备使用和安装时须遵循手册中的说明,否则可能会产生有害...
Dragonfly是一个用于可扩展贝叶斯优化的开源python库Dragonfly 是一个用于可扩展贝叶斯优化的开源 Python 库。 贝叶斯优化用于优化评估通常很昂贵的黑盒函数。 除了普通的优化技术,Dragonfly 还提供了一系列工具来...
"DRAGONFLY"是一个与字体相关的主题,很可能是指一种特定的字体设计或者字体库。在计算机领域,字体是用于显示或打印文本的图形样式,它们对于视觉传达、设计和排版都至关重要。DRAGONFLY可能是一个艺术家、设计师...
Dragonfly蜻蜓技术架构介绍 作为一个专业的IT行业大师,我将对Dragonfly蜻蜓技术架构进行详细介绍。 Dragonfly蜻蜓技术架构介绍 Dragonfly是一种基于P2P(Peer-to-Peer)的镜像分发机制,旨在解决大规模分布式...
本文将围绕标题提及的资源——"lbt-dragonfly-0.7.350.tar.gz",探讨其在分布式系统、云原生环境以及Python库中的应用和重要性。 "lbt-dragonfly-0.7.350.tar.gz"是一个经过压缩的Python软件包,其中包含了名为"lbt...
《Python库——lbt-dragonfly-0.4.154详解》 在Python的世界里,库扮演着至关重要的角色,它们为开发者提供了丰富的功能,简化了代码编写,提高了开发效率。今天我们要探讨的是一个名为`lbt-dragonfly`的Python库,...
本文将探讨PyPI官网下载的资源——`dragonfly-energy-1.12.130.tar.gz`,这是一个针对分布式系统、云原生环境以及Python编程的重要组件。 `dragonfly-energy`这个名字暗示了这个库可能与能源管理或者绿色计算有关,...
3. 首次测试:首次测试表明该芯片在真实的物联网环境下能够成功运行。具体在沃达丰的物联网未来实验室中,通过沃达丰的NB-IoT网络,测试芯片连接至网络并演示了端到端IP连接。 4. 软件协议栈:此次测试还涉及到3GPP...