如有排版错误,请查阅https://www.zybuluo.com/bornkiller/note/24702
官方文档:
-
jasmine: http://jasmine.github.io/2.0/introduction.html -
jasmine-ajax: http://jasmine.github.io/2.0/ajax.html
framework未定义
- 昨日遇到问题,在local安装后,对应框架未能引入,需要全局安装后方可排除。可能是个人之前理解有误。
karma-jasmine-ajax说明
- 安装
karma-jasmine-ajax插件,如下为其package.json文件,npm install之前,去掉tags,即可安装最新版本,否则文档高度不匹配,如此还不如手工引入最新版本。
"dependencies": {
"jasmine-ajax":
"git://github.com/pivotal/jasmine-ajax#477f044b4afa9b77ca834275109cbe08b362f05e"
}
如果觉得麻烦,可以使用如下方式,亲测可用:
npm install karma-jasmine-ajax-eisoo --save-dev
karma-jasmine说明
- npm仓库里
karma-jasmine中jasmine的版本低于2.0版本,而2.0版本配合karma使用本人暂时未能顾及,故延后处理。 - 使用
karma-jasmine单元测试中,spy.calls为undefined. - 使用
karma-jasmine单元测试中,spyOn链式调用函数与最新文档有明显差异。
官方2.0文档示范如下:
spyOn(foo, 'setBar').and.callThrough();
spyOn(foo, "getBar").and.returnValue(1234);
spyOn(foo, "getBar").and.callFake(function() {
return 1234;
});
spyOn(foo, "getBar").and.throwError("unconsidered error");
但当前karma-jasmine环境下,可如下调用。
spyOn(love, 'getBar').andCallThrough();
spyOn(love, 'getBar').andReturn(1234);
spyOn(love, 'getBar').andCallFake(function () {
return 1234;
});
spyOn(love,'getBar').andThrow('unconsidered error');
总结来说,就是使用前,确定使用的是哪一个版本,再进行操作。
- 如果需要强制新版本
jasmine依赖,按照如下配置:
{
"devDependencies": {
"karma": "~0.12.0",
"karma-jasmine": "~0.2.0"
}
}
Webstorm-live-template
- 如果使用webstorm,可以参考https://github.com/bornkiller/webstorm-livetpls-jasmine.git,将其中
Jasmine.xml文件放入对应目录下即可,支持当前的karma-jasmine调用方式。新版调用方式会开新分支实现。 - 模板位置
System Location windows C:\Users\Administrator\.WebStorm8\config\templateslinux ~.[product name][version number]\config\templatesmac ~/Library/Preferences/[product name][version number]/templates
技术交流
如果内容与实际有出入,请联系。
- QQ:491229492
- Email:huang.jian@eisoo.com
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。