天天看点

Karma测试环境搭建

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只是一个运行器,你可以使用项目中使用的测试框架如jasmine,mocha,qunit等,咱们以jasmine为例说明,mocha环境搭建随后介绍。

如何运行karma

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

环境搭建:

karma通过npm安装

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

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

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

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

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

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

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

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

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

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

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

继续阅读