在WebStorm中集成Karma+jasmine进行前端单元测试

前言

好久没有写博了,主要还是太懒=。=,有点时间都去带娃、看书了,今天给大家分享一个原创的小东西,如果大家对TDD或者BDD有兴趣,可以也尝试一下哦

PS:附上小女萌图一张:^_^

使用的工具/框架

webstorm

这个做前端的童鞋们应该都比较熟悉了吧,jetBrain出品的IDE神器,做Web开发、Node.js开发都可以。功能十分强大,我们今天的测试框架就是要与它集成,实现“开发的同时自动测试”。下面给出一些相关的资料地址:

Karma

这个是一个很强大的测试框架(Test Runner),可能有些童鞋不认识,不过相信有不少人用过jsTestDriver.是的,Karma也是Google出品,其前身叫做TestAcular,据其介绍视频上说,是Google在开发AngularJS的时候,感觉到jsTestDriver有一些不足,从而重新开发了一套测试框架。

其官网地址:http://karma-runner.github.io/0.10/index.html

补充一句:Karma本身只是一个测试框架,而不是assert framework,它支持你使用任何的断言lib,比如jasmine,mocha,qunit等等。也支持你使用任意的reporter生成报表。

实现步骤

Step1:安装Webstorm和Karma

  1. Webstorm是收费的,但是屌丝们总是有办法的,你们懂的,这里IDE的安装就不说了,很简单一路默认即可。
  2. Karma是依赖Node.js的,所以要先安装Node.js,可以去这里下载,然后直接安装即可。
  3. 安装完node之后,npm也就附带安装了,npm就是node.js的包管理器,我们通过它来安装其他的第三方库、框架,下面打开cmd窗口,输入“npm install -g karma”,等几分钟就会看到安装完成的提示了
  4. 安装完成后,注意看cmd窗口提示,里面会有最终安装到的路径(比如我用的Win7系统,就是C:/users/xxx/AppData/Roaming/npm/),把这个路径记下,后面会用到

现在Karma就安装好了,默认Karma会自动安装karma-jasmine插件,这是一个能够使用jasmine断言语法的框架,我们今天的测试用例就是用它来写啦。

Step2:设置Webstorm

下面到重点了,通过对webstorm的settings的一番摸索,终于找到了一个很方便的办法,可以让我们轻松的实现在IDE一边开发、一边同步看到测试结果的方法,下面就介绍如何来设置:

  1. 打开webstorm,选择File->Settings。
  2. 点击External Tools->+图标,弹出配置窗口,按照如下方式配置
    1. name:主要是描述这是什么东西,随你喜好
    2. Program:这个很重要,把之前记下的安装路径填写到这里
    3. 后面2个参数照着填写即可,不需修改
  3. 设置完成后,就ok了,下面我们来看看效果。

注意本篇文章不是讲karma的使用,所以具体如何使用karma来单元测试,请移步官网看一下介绍即可,下面直接使用我目前的一个karma工程演示一下效果

效果演示

选择要运行的测试配置文件:右键启动测试。下面会直接显示命令行窗口,当前的测试自动开始运行。

karma还可以监控你测试中的文件,一旦你改动了任何地方,save的时候,test可以自动运行。

总结

今天主要是把这个小技巧记录、分享一下,没啥好总结的了,祝大家玩的开心~。

感谢支持

精彩的还在后面,请大家多多支持,给点动力哈~

如果本文对您有帮助的话,请别吝啬手中的推荐票哦~


本博客文章若非标记转载,均为原创,转载请注明出处~


 

在WebStorm中集成Karma+jasmine进行前端单元测试的更多相关文章

  1. 搭建Karma+Jasmine的自动化单元测试

    最近在打算将以前的代码进行重构,过程中发现自己不写自动化测试代码,而是手动的写,这样并不好,所以就学了Karma+Jasmine的自动化单元测试,以后写代码尽量要写自动化单元测试,也要测一下istan ...

  2. Karma:2. 集成 Karma 和 mocha 进行单元测试

    上一篇文章讨论了如何集成 Karma 和 Jasmine,地址见:Karma:1. 集成 Karma 和 Jasmine 进行单元测试 这篇文章讨论如何 Karma 集成 mocha 测试框架. 安装 ...

  3. karma + jasmine 构建前端自动化测试

    http://blog.fens.me/nodejs-karma-jasmine/   很全的文档 执行karma init时报错如下: $ karma init > readline.js:5 ...

  4. Karma+Jasmine实现自动化单元测试

    1.Karma介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma.Karma是一个让人感到非常神秘的名字 ...

  5. 常见开发需求之前端利器webstorm中的git和快捷键

    需求   前端开发中我们最常用的一般是webstorm.hbuilder和sublime,因为以前使用过一段时间eclipse所以我对webstorm的感觉比较良好,再加上以前使用hbuilder维护 ...

  6. Karma 5:集成 Karma 和 Angular2

    集成 Karma 和 Angular2 我们需要做很多工作,由于需要使用 TypeScript 进行开发,首先需要正确配置 Typescript ,然后正确配置对 Angular2 的引用.还要创建 ...

  7. Karma +Jasmine+ require JS进行单元测试并生成测试报告、代码覆盖率报告

    1. 关于Karma Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner). 该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuou ...

  8. angularJS测试一 Karma Jasmine Mock

    AngularJS测试 一 测试工具 1.NodeJS领域:Jasmine做单元测试,Karma自动化完成单元测试,Grunt启动Karma统一项目管理,Yeoman最后封装成一个项目原型模板,npm ...

  9. 使用karma+jasmine做单元测试

    目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...

随机推荐

  1. android屏蔽home键的实现

    Android中,网上很多屏蔽Home键都智能在4.0以下运行,在4.0以及以上运行直接崩溃. 需要这样更改(来源:http://androidmaster.iteye.com/): @Overrid ...

  2. 收集的VS2013的使用小技巧( 不断总结中)

    对于经常使用vs的朋友,如果能用键盘直接做的事,还是键盘更便捷点,现在我就把自己遇到的一些给写下来. 1.对一个函数的说明 先写一个函数,以及参数,完成后,在函数上输入///,vs会自动补全说明的信息 ...

  3. JS实现倒计时网页自动跳转(如404页面经常使用到的)

    在web前端设计中,我们经常会遇到需要实现页面倒计时跳转的功能,例如在404页面中也会经常使用到此功能,那么如何实现呢,其实实现方法很简单,实现代码如下:<title>JS倒计时网页自动跳 ...

  4. Kafka集群在空载情况下Cpu消耗比较高的问题

    线上kafka与storm的空载情况下负载都比较高, kafka达到122%, storm平均负载达到, 20%,  当前是通过Ambari下管理kafka的, a. 先停止s5的kafka进程.b. ...

  5. jquery插件分类与编写详细讲解

    jquery插件分类与编写详细讲解 1. 插件种类 插件其实就是对现有的方法(或者叫函数)做一个封装,方便重用提高开发效率.   jQeury主要有2种类型   1)实例对象方法插件 开发能让所有的j ...

  6. Kafka spring 集成

    下载配置kafka参考该链接:http://www.cnblogs.com/super-d2/p/4534323.html pom.xml: <dependency> <groupI ...

  7. QT中出现“无法解析的外部符号”错误

    串口中我要把奇偶校验等enum数据对应写到一个ComboBox中去,所以需要在我的Settings类中加入一个函数用来转换. 这里,我首先在settings.h的class Settings中加上对该 ...

  8. mysql的事物

    所谓的事物就是一组原子性的SQL语句,或者说是一个独立的工作单元. 1.事物拥有四大特征: ①原子性(atomicity):一个事物必须被分为一个不可分割的的最小单元,整个事物中的所有操作要么全部提交 ...

  9. 你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来

    原文:你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来 asp.net页面编码和浏览器的选择编码 每个asp.net的朋友都知道,在新版本的visual studio,在没有任何设置 ...

  10. Eclipse在SVN安装步骤(两种)和使用方法

    一.至Eclipse安装SVN,最常见的两种方式:手动模式,使用安装向导.具体操作步骤如下: 单程:手动安装 1.官方网站下载,从site-1.6.9.zip文件,网址是:subclipse.tigr ...