Karma-Jasmine之安装与实例详解(一)

本文先介绍karma-jasmine的安装。javascript

Karma介绍java

  首先说一下karma,官方是这样给出的,karma不是一个测试框架,也不是一个断言库。karma只是启动一个HTTP服务器,并生成HTML文件。因此你能够选择你本身喜欢的测试框架。如Jasmine,Mocha,QUnit等等。node

Jasmine介绍chrome

  Jasmine便是上面所说的JavaScript测试框架。它不依赖于其余任何JavaScript组件,它有干净的语法,Jasmine断言库可让你简单的写出测试代码,(断言:表示为一些布尔表达式,你能够采用假设的方式,当程序输出的结果是否与假设的结果一致时,断言为真,不然,断言为假)在karma上运行Jasmine能够完成JavaScript的自动化测试、生成覆盖率报告等。npm

Karma安装windows

  安装Node.js浏览器

  karma是运行在node.js上的。因此首先安装node.js.参考地址:http://pan.baidu.com/s/1jHrCh74#list/path=%2F下载一路next便可(舒适提示:最好改一下安装路径)  服务器

                                                            

  安装karma框架

  点击桌面左下角开始菜单,找到Node.js中的第一项,以下图:测试

                                            

      将karma安装到本身喜欢的位置。我安装到了E:\tomjia-soft\karma下(关于windows下的文件目录跳转用cd)

      

  安装karma,输入命令:npm install karma --save-dev

      

  ok,karma已经安装成功了。

  ③安装插件  

  接下来安装karma-jasmine、karma-chrome-launcher(chrome浏览器启动器)插件。

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

      

  ok,插件已经安装成功。

  ④安装karma-cli

  karma-cli用来简化karma的调用,方便使用karma

      输入命令:npm install -g karma-cli

      

  安装已经所有完成了。安装完成后的目录以下:

      

 

Karma使用

  启动karma,输入命令:karma start

      

 

      自动弹出chrome浏览器窗口

      

 

      返回命令窗口时会报错,由于尚未配置文件。这时先不用管,直接关掉命令窗口便可。同时浏览器也随之关闭。

      从新跳转到karma目录下,以下图:并执行  karma init  命令。

      

      上图说明:①你选择哪个测试框架:咱们选择jasmine

           ②你想要使用Require.js吗?:(RequireJS是一个很是小巧的JavaScript模块载入框架)这里咱们不须要。

           ③你想让那个浏览器自动捕获:这里能够能够选择多个,咱们只用chrome。

           ......

           ⑥你但愿karma一直监控全部的文件而且不停地测试吗?:咱们须要自动化测试,因此咱们选择yes。

      配置文件已搞定。以下图:

      

      打开配置文件:咱们须要注意两个地方:

      

  12都是设置路径的。1中的bathPath:能够设置(设置为相对于配置文件karma.conf的路径),也能够不设置。若是不设置的话。2中的files中的路径就是相对于配置文件karma.conf的路径。下文将有体现。若是bathPath设置了,2中的files中的路径就是相对于1中的路径而言。

  咱们新建一个文件夹命名为TestFiles。放在配置文件的上一级。TestFiles下有两个js文件。分别是测试文件jasmineTest.js和被测试文件test.js.以下图所示:

      

                     

      接下来咱们不设置配置文件中的1,直接设置2路径(固然你也能够设置1,再设置2)。如图所示:

      

    files: [
        '../TestFiles/jasmineTest.js',
        '../TestFiles/test.js'
    ],

  test.js文件内容:     

function TT() {
    return "abc";
}

  jasmineTest文件内容:

describe("A suite of basic functions", function () {
    it("test", function () {
        expect("abc").toEqual(TT());
    });
});

  再次启动karma:结果以下:

      

      

  点击debug:F12调试

      

  改变test.js内容,以下图:

function TT() {
    return "abc123";
}

  保存,打开命令窗口:观察可得:

      

    打开浏览器,刷新!刷新!,点击debug F12调试观察可得:

      

      这就体现了karma经过浏览器自动测试的功能。

相关文章
相关标签/搜索