Javascript测试框架Jasmine(一):简介

zz from: http://keenwon.com/1191.html

随着javascript程序的复杂度加深,测试的重要性越来越明显。Javascript的测试框架有很多,例如:Jasmine,Qunit,JsTestDriver,JSUnit,Mocha等。经过一番对比后决定使用Jasmine。Jasmine是一套Javascript行为驱动开发框架(BDD),干净简洁,表达力强且易于组织,不依赖于其他任何框架和DOM,可运行于Node.js,浏览器端或移动端。

下载运行

下载GitHub上的项目。解压后,dist 下就是各个版本的独立运行包,解压最新的2.0.0版本,双击打开SpecRunner.html 即可运行测试,注意要在SpecRunner.html 的<head> 内引用Jasmine的js文件和测试文件。想简单使用的话,将soucre/spec 下的测试文件替换成你自己的即可。


  
  
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>Jasmine Spec Runner v2.0.0</title>
  6.  
  7. <link rel="shortcut icon" type="image/png" href="lib/jasmine-2.0.0/jasmine_favicon.png">
  8. <link rel="stylesheet" type="text/css" href="lib/jasmine-2.0.0/jasmine.css">
  9.  
  10. <script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script>
  11. <script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script>
  12. <script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script>
  13.  
  14. <!-- 被测试的代码 -->
  15. <script type="text/javascript" src="src/Player.js"></script>
  16. <script type="text/javascript" src="src/Song.js"></script>
  17.  
  18. <!-- 测试用例代码 -->
  19. <script type="text/javascript" src="spec/SpecHelper.js"></script>
  20. <script type="text/javascript" src="spec/PlayerSpec.js"></script>
  21.  
  22. </head>
  23.  
  24. <body>
  25. </body>
  26. </html>

我把官方的例子部署在了我的Demo站上,点击查看。下面讲一些基础。

Suites

Suites可以理解为一组测试,使用全局的Jasmin函数describe 创建。describe 函数接受两个参数,一个字符串和一个函数。字符串是这个Suites的名字或标题(通常描述下测试内容),函数是实现Suites的代码块。

Specs

Specs可以理解为一个测试,使用全局的Jasmin函数it 创建。和describe 一样接受两个参数,一个字符串和一个函数,函数就是要执行的测试,字符串就是测试的名字。一个Spec可以包含多个expectations来测试代码。在Jasmine中,一个expectations就是一个断言,只能是true 或false。只有全部expectations是true 的时候spec才会通过。

由于describe 和it 块实质上都函数,所有他可以包含任何的可执行代码。javascript的作用域规则也是适用的,所以describe 内定义的变量,其内部所有的it 都能访问到。

Expectations

expectations由expect 函数创建。接受一个参数。和Matcher一起联用,设置测试的预期值。

最后看个最简单的例子:

 
 
  1. describe("A suite", function () {
  2. it("contains spec with an expectation", function () {
  3. expect(true).toBe(true);
  4. });
  5. });

 下一篇讲一下Matcher –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值