Karma是一个JavaScript test runner。
Test Runner
简单来说Test runner
就是测试的实施者。很多时候,我们本身也是一个测试实施者。考虑这样一个对于前端开发者很常见的场景:
新建了一个脚本文件,并在这个脚本文件里面写上了一个函数。为了保证这个函数运行如预期,我们下一步是将脚本引用到页面上。紧接着打开浏览器,并查看执行结果。如果运行结果未如预期,我们返回编辑器,修改函数,然后再次运行测试。反复这样一个过程直至验证通过。在此过程中,我们充当的角色即是一个测试实施者。
重复的任务通常都可以自动化。Karma正是一个自动化的测试实施者。
安装Karma
Karma是一个npm模块,安装Karma异常简单。与Grunt相同,karma
通常建议作为一个依赖模块安装在本地。然后通过Karma CLI运行。
|
|
安装Karma CLI之后即可在调用karma
来启动测试:
|
|
如果未安装Karma CLI,则需指定完整的本地karma
路径:
|
|
项目配置
不同的项目千差万别,Karma提供了许多配置选项让项目的测试更易进行。配置文件可以通过karma init
命令来生成,执行karma init
之后,会进入一个交互式的命令行来配置选项。常见的配置,例如测试框架、自动捕捉的浏览器、源文件和测试文件等等。
当配置完成后,即可通过以下命令来启动测试:
|
|
一个项目可以设置多个配置文件,给karma start
提供不同的文件名即可调用不同的配置:
|
|
Plugins
Karma Plugins同样是npm模块,通过npm install
来安装插件。例如,安装karma-mocha
:
|
|
默认情况下,Karma为自动加载node_modules
目录下与karma相邻,并以karma-
开头的node模块。此类模块,例如:
- karma-mocha
- karma-coverage
- karma-mocha-reporter
- karma-phantomjs-launcher
也可以通过配置plugins
属性来夹在特定的模块:
|
|