如有排版错误,请查阅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\templates
linux ~.[product name][version number]\config\templates
mac ~/Library/Preferences/[product name][version number]/templates
技术交流
如果内容与实际有出入,请联系。
- QQ:491229492
- Email:huang.jian@eisoo.com
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。