karma-jasmine 踩坑纪录

若有排版毛病,请查阅https://www.zybuluo.com/bornkiller/note/24702

官方文档:

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-jasminejasmine的版本低于2.0版本,而2.0版本合营karma运用本人临时未能顾及,故延后处置惩罚。
  • 运用karma-jasmine单元测试中,spy.callsundefined.
  • 运用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挪用体式格局。新版挪用体式格局会开新分支完成。
  • 模板位置
    SystemLocation
    windowsC:\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
    原文作者:怀疑真爱的流浪者jason
    原文地址: https://segmentfault.com/a/1190000000623274
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞