介绍
开发Web应用过程中,测试是非常重要的环节。Jasmine(http://pivotal.github.com/jasmine/)是JavaScript行为驱动开发behavior-driven development 的框架,Jessie是Jasmine在Node中的运行器runner。本文将介绍Jessie的安装和使用,在阅读本文前,你需要对JavaScript和NodeJS(http://nodejs.org/)有所了解。
- 1. 下载和安装
稳定版本的Jessie可以通过nodeJS中的npm直接安装,输入命令:
npm install Jessie
即可,那么在test\node_modules文件夹下会存在两个文件夹: .bin, jessie。
如果需要安装开发版本,可以直接在下载源代码进行安装:
git clone git://github.com/futuresimple/jessie.git
npm install ./jessie
- 2. 使用方法
进入到我们测试的根目录test目录下,输入node_modules\.bin\jessie (当然,你也可以把jessie文件放入系统的环境变量中,推荐这么做),会出现使用说明:
jessie [OPTIONS] [spec dirs/files]
spec是指安装后在test目录下的spec文件夹,如果只输入jessie spec会测试spec下的所有test case。当然,也可以知道跑指定的case,如:
jessie spec\test.js
- 3. 测试用例写法
下面我们来用一个例子说明具体如何将jessie投入实际开发中,在spec文件夹下新建一个testDemo_spec.js(注意:一定要加入_spec 否则jessie会不识别该文件),输入代码:
describe("A spec", function() {
it("is just a function, so it can contain any code", function() {
var foo = 0;
foo += 1;
expect(foo).toEqual(1);
});
it("can have more than one expectation", function() {
var foo = 0;
foo += 1;
expect(foo).toEqual(1);
expect(true).toEqual(true);
});
});
运行之后会看到通过2个test case:
下面我们将 expect(foo).toEqual(1); 改为 expect(foo).toEqual(2); 再次运行,则会报出一个错误:
这个注释说得非常清晰,在testDemo_spec.js 的13行 17列出的错误。
更多详细的例子,大家可以到jasmine的网站去测试:http://pivotal.github.com/jasmine/
至此,相信你已经会使用jessie和nodeJS来写自动测试脚本了。Jessie还有扩展了jasmine的功能,包括:Pending Spec, sugar, CoffeScript等,留给读者自行尝试了。
最后,Jessie同样是TDD的理想选择。