码迷,mamicode.com
首页 > 其他好文 > 详细

Karma测试环境搭建

时间:2015-02-10 02:01:29      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:karma   jasmine   autotest   

Karma是一个JavaScript的测试运行器。Karma更是一个测试环境,使用Karma可以很方便的的运行测试,今天我们简单地介绍一karma测试环境的搭建和基本的测试,我已经写好了一套测试用例,有谁需要可以私信我。

官网如下:http://karma-runner.github.io/0.12/index.html


我们总是实现完feature后再编写测试用例,但是根据TDD的原则,开发的流程一般是这样,

1.编写测试(执行失败的case)

2.运行测试(执行失败)

3.编写代码(case测试通过)

4.运行测试

5.重构并重新测试,保证测试通过


在这个过程中,TDD的流程被执行一遍又一遍,需要不断的重复这个过程。如果有一个这样的环境能够监测到文件内容到变化,并能自动运行测试用例岂不是更好?

Karma就是这样一个开发环境,开发者指定需要测试的脚本和测试文件,需要运行的浏览器等信息,Karma会在后台自动监控文件的修改,并启动一个浏览器与Karma的服务器连接,这样当源代码或者测试发生修改后,Karma会自动运行测试。

开发者可以指定不同的浏览器。由于Karma只是一个运行器,你可以使用项目中使用的测试框架如JasmineMocha,QUnit等,咱们以jasmine为例说明,Mocha环境搭建随后介绍。


如何运行Karma

Karma需要一个配置文件来知道哪些文件需要被加载,哪些文件是测试文件(需要被监控),这个配置文件可以通过Karma自带的init参数来生成。


环境搭建:

Karma通过npm安装

npminstall -g karma

安装之后,可以生成karma需要的配置文件:

karma init my.conf.js

注:如果报错karma命令找不到,说明还没有装karma到命令行支持,可以使用如下命令:

npm install -gkarma-cli

接下来还要安装下jasmine插件和chrome插件

npm installkarma-jasmine karma-chrome-launcher --save-dev

karma会让你回答一些问题,比如是哪种测试框架,哪些文件需要被测试,哪些浏览器需要支持,是否需要karma监测测试文件,然后就在该目录下生成了my.config.js文件。

为了不让测试文件和源文件分离,我们在my.config.js相同的目录下建立src/jasmine/目录,在该目录下存放源文件,再建立text/jasmine/目录,用来放测试文件。

我们先测试下karma环境是否ok,执行karma start my.conf.js,如果正常执行,则表明初始化成功。


下面我们修改下my.config.js,将源文件和测试文件路径映射到配置文件中,karma启动时回将这些文件载入。files部分修改为:

// list of files / patterns to load in thebrowser
files = [
 ‘src/**/*.js‘,
 ‘test/**/*spec.js‘
];

在启动karma服务前。我们先在test/jasmine目录下建一个test-spec.js文件,输入一下代码:

describe("A suite", function() {
 it("contains spec with an expectation", function() {
   expect(true).toBe(true);
  });
});

接下来,可以执行测试了,执行命令:karma start my.conf.js

应该可以跑成功了,如果有问题请留言。

后续介绍jasmine部分知识,有需要的话,请留意!!



本文出自 “Eason's hcc” 博客,请务必保留此出处http://hcc0926.blog.51cto.com/172833/1613154

Karma测试环境搭建

标签:karma   jasmine   autotest   

原文地址:http://hcc0926.blog.51cto.com/172833/1613154

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!