资讯专栏INFORMATION COLUMN

karma-jasmine 踩坑记录

Shimmer / 1589人阅读

摘要:如有排版错误,请查阅官方文档未定义昨日遇到问题,在安装后,对应框架未能引入,需要全局安装后方可排除。使用单元测试中,为使用单元测试中,链式调用函数与最新文档有明显差异。总结来说,就是使用前,确定使用的是哪一个版本,再进行操作。

如有排版错误,请查阅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-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调用方式。新版调用方式会开新分支实现。

模板位置

System Location
windows C:UsersAdministrator.WebStorm8config emplates
linux ~.[product name][version number]config emplates
mac ~/Library/Preferences/[product name][version number]/templates

技术交流

如果内容与实际有出入,请联系。

QQ:491229492

Email:huang.jian@eisoo.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85244.html

相关文章

  • 自动化测试(未完,后续学习之后会补充更具体的)

    摘要:断言断言是什么模块提供了一组简单的断言测试,可用于测试不变量。环境是他们不必设置大量配置的环境,而是开发人员可以编写代码并从测试中获得即时反馈的地方。每当测试时,结果将出现在您的拉取请求中,您的历史记录将在其控制面板中提供。 Node assert (断言) 断言是什么 assert 模块提供了一组简单的断言测试,可用于测试不变量。 存在严格模式(strict)和遗留模式(legacy...

    姘存按 评论0 收藏0
  • [译]使用karma进行angular测试

    摘要:前面我们写过了的一篇文章开始对进行单元测试而提供了非常有用的工具去帮助我们进行的测试。接下来,会增加一些内容写测试用例接下来我们可以开始进行测试了,我们在命令行工具里输入下面的命令我们将下面的代码粘贴到中去。 showImg(https://segmentfault.com/img/bVx65M); 紧随前文如何对Angular Controller进行单元测试,但是我们也提到了前文工...

    Tony 评论0 收藏0
  • Omi原理-环境搭建

    摘要:相关依赖有和其余都是单元测试相关依赖注意,这里使用了。因为使用框架支持和使用是为了在单元测试里面使用的和等语法。脚本其中生成目录的文件执行单元测试编译的编译的在中,会根据去设置不同的入口文件。 环境搭建 Omi框架使用 Webpack + ES6 的方式去开发;使用karma+jasmine来作为Omi的测试工具。 Karma介绍 Karma是一个基于Node.js的JavaScrip...

    lncwwn 评论0 收藏0
  • SUI踩坑记录

    摘要:踩坑记录最近做了个项目选型了和做单页应用。下面记录一下踩坑经历介绍文档是一套基于开发的库。下面记录一下主要的注意事项默认开启了前端路由。如果需要禁用路由功能那么可以在之后之前使用来禁用相关的坑的有个可以自定义里面的内容但是把这块删了。 SUI踩坑记录 最近做了个项目选型了SUI和vue做单页应用。下面记录一下踩坑经历SUI 介绍 sui文档:http://m.sui.taobao.or...

    honhon 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<