您的位置:首页 > 其它

集成 Karma 和 Jasmine 进行单元测试

2017-06-16 11:15 211 查看
1、简介

单元测试:对每一个function进行独立测试,验证数据能否正确流入、流出

Jasmine:编写测试脚本

Karma:驱动测试脚本

2、准备工作

安装node.js,初始化 npm 包管理,创建 package.json 项目管理文件。

3、安装Karma

(1)在项目中安装karma

命令 E:\project\karmatest> npm i -D karma

(2)全局安装karma-cli

命令 E:\project\karmatest> npm i -g karma-cli

4、安装 Jasmine 和 chrome-launcher(浏览器的适配器)

命令 E:\project\karmatest> npm i -D jasmine-core karma-jasmine karma-chrome-launcher

5、创建 karma 配置文件

(1)初始化karma,配置项除了路径都填默认值即可,完成后即生成karma.conf.js文件



(2)启动 karma

命令:E:\project\karmatest> karma start

启动后,karma会自动打开chrome浏览器,出现如下画面,点击debug按钮,然后打开控制台,由于还未编写测试用例,此刻控制台中应该还没有打印值。



6、用 Jasmine 编写测试用例

(1)在项目目录下创建一个名为 test 的子文件夹来保存测试用例。然后在 test 文件夹中创建一个 unit 的文件夹来保存单元测试用例。

(2) 在项目目录下,创建一个名为 src 的子文件夹来保存我们的应用代码,在其中创建一个名为 add.js 的脚本文件,我们将测试它的工作是否正确。

(3) add.js代码:

function add(a, b){
return a + b;
}


(4) 针对add方法写两个测试用例,保存到 ./test/unit/add.spec.js 文件中,一般我们约定测试用例的文件名以 .spec.js 为结尾。

describe('add方法的测试用例', function(){
it('用例1,这个用例必须成功', function(){
var result  = add( 2, 3 );
expect( result ).toBe( 5 );
});

it('用例2,这个用例必须失败', function(){
var result = add( 2, 3 );
expect(result).toBe( 6 );
})
});


(5) 确认在我们 karma 的配置文件karma.conf.js中,包含了我们的测试用例。

// list of files / patterns to load in the browser
files: [
'test/**/*.spec.js'
],


(6)用第5步(2)的方式启动karma,已经启动的刷新刚刚的debug页面即可。观察控制台打印值。

附:Jasmine 常用语法,转自:http://blog.csdn.net/huangpb123/article/details/70168221
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单元测试