SlideShare une entreprise Scribd logo
1  sur  11
Jasmine快速入门
什么是jasmine

关于单元测试的经典误区             BDD式javascript单元测试框架


误区1:从没写过javascript的单元    Jasmine语法很简单,易于理解
测试                       代码表达性强,组织性好
误区2:浪费太多时间               通用于nodeJs
                         具备单元框架大多数功能,显
误区3:效率太低,意义不大
                          示错误信息和位置,用例数量,
                          可视化界面等
Javascript主流测试框架

 QUnit:从属于jQuery,现在已经可以脱离jQuery运行


 Jasmine :BDD风格的单元测试框架


 Jarvis :风格基于.NET平台上的Nunit


 jfUnit :独特的加载方式和编写方式


明河评:
个人偏爱Qunit的可视化界面,Jasmine在文档方面做的很出色,官网有详实的demo。
BDD与TDD的区别

behavior-driven development   Test Drived Development

                               测试脚本出错了也要能继续运
                                行接下来的脚本
                               不依赖被测试代码写测试用例
                               能够显示错误信息和位置
                               能够统计通过和未通过的用例
                                的数量
                               可视化界面
                               易于上手
hello world!
               用例组,是单元测试的起点
it()
it():测试用例,接受二个参数:

 测试代码执行后的行为描述
 用于测试的函数
describe()
用例组,describe()是可以嵌套的
beforeEach()和afterEach()
                                 在每个用例执行前增加个数据
beforeEach :在嵌套的每个it()或describe()执行前触发一次


afterEach:在嵌套的每个it()或describe()执行后触发一次
                                   在用例执行后增加个数据
Matchers

常用的matchers

 expect(x).toEqual(y); 比较x是否与y相等
 expect(x).toBeLessThan(y);比较x是否小于y
 expect(x).toBeGreaterThan(y);比较x是否大于y
 expect(x).toBe(y);比较x和y是否来自相同的对象
 expect(x).toMatch(pattern);比较x是否符合正则要求
Jasmine的异步测试

runs()和waits()配合使用,来解决异步测试。




                              等待500毫秒,ajax请求成功后
完整的单元测试demo

Contenu connexe

Tendances

例外處理與單元測試
例外處理與單元測試例外處理與單元測試
例外處理與單元測試國昭 張
 
Java单元测试
Java单元测试Java单元测试
Java单元测试darlingshan
 
5, initialization & cleanup
5, initialization & cleanup5, initialization & cleanup
5, initialization & cleanupted-xu
 
Worktest测试框架原理
Worktest测试框架原理Worktest测试框架原理
Worktest测试框架原理Janeay
 
测试用例浅析 V1.1
测试用例浅析 V1.1测试用例浅析 V1.1
测试用例浅析 V1.1shijian_dev
 
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Hazem Saleh
 
例外處理實務
例外處理實務例外處理實務
例外處理實務Jeff Chu
 
Free rtos workshop1@nuu
Free rtos workshop1@nuuFree rtos workshop1@nuu
Free rtos workshop1@nuu紀榮 陳
 
AOP概念及实践
AOP概念及实践AOP概念及实践
AOP概念及实践Tony Deng
 
cppcheck源码分析
cppcheck源码分析cppcheck源码分析
cppcheck源码分析Wu Liang
 
Unit test lesson 1
Unit test lesson 1Unit test lesson 1
Unit test lesson 1Medivh2011
 
单元测试(H2等)和持续集成(Hudson)实战简介
单元测试(H2等)和持续集成(Hudson)实战简介单元测试(H2等)和持续集成(Hudson)实战简介
单元测试(H2等)和持续集成(Hudson)实战简介isxylands
 
Cppcheck分析
Cppcheck分析Cppcheck分析
Cppcheck分析Wu Liang
 
Jni攻略之十一――启动虚拟机调用Java类
Jni攻略之十一――启动虚拟机调用Java类Jni攻略之十一――启动虚拟机调用Java类
Jni攻略之十一――启动虚拟机调用Java类yiditushe
 
第一次用 PHPUnit 寫測試就上手
第一次用 PHPUnit 寫測試就上手第一次用 PHPUnit 寫測試就上手
第一次用 PHPUnit 寫測試就上手Yi-Ming Huang
 
大公司的Java面试题集
大公司的Java面试题集大公司的Java面试题集
大公司的Java面试题集yiditushe
 
7. 錯誤處理
7. 錯誤處理7. 錯誤處理
7. 錯誤處理Justin Lin
 

Tendances (20)

例外處理與單元測試
例外處理與單元測試例外處理與單元測試
例外處理與單元測試
 
Java单元测试
Java单元测试Java单元测试
Java单元测试
 
5, initialization & cleanup
5, initialization & cleanup5, initialization & cleanup
5, initialization & cleanup
 
Worktest测试框架原理
Worktest测试框架原理Worktest测试框架原理
Worktest测试框架原理
 
單元測試
單元測試單元測試
單元測試
 
测试用例浅析 V1.1
测试用例浅析 V1.1测试用例浅析 V1.1
测试用例浅析 V1.1
 
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
Efficient JavaScript Unit Testing (Chinese Version), JavaOne China 2013
 
例外處理實務
例外處理實務例外處理實務
例外處理實務
 
C++exception
C++exceptionC++exception
C++exception
 
Free rtos workshop1@nuu
Free rtos workshop1@nuuFree rtos workshop1@nuu
Free rtos workshop1@nuu
 
AOP概念及实践
AOP概念及实践AOP概念及实践
AOP概念及实践
 
cppcheck源码分析
cppcheck源码分析cppcheck源码分析
cppcheck源码分析
 
Unit test lesson 1
Unit test lesson 1Unit test lesson 1
Unit test lesson 1
 
单元测试(H2等)和持续集成(Hudson)实战简介
单元测试(H2等)和持续集成(Hudson)实战简介单元测试(H2等)和持续集成(Hudson)实战简介
单元测试(H2等)和持续集成(Hudson)实战简介
 
Cppcheck分析
Cppcheck分析Cppcheck分析
Cppcheck分析
 
Jni攻略之十一――启动虚拟机调用Java类
Jni攻略之十一――启动虚拟机调用Java类Jni攻略之十一――启动虚拟机调用Java类
Jni攻略之十一――启动虚拟机调用Java类
 
第一次用 PHPUnit 寫測試就上手
第一次用 PHPUnit 寫測試就上手第一次用 PHPUnit 寫測試就上手
第一次用 PHPUnit 寫測試就上手
 
Unit test
Unit testUnit test
Unit test
 
大公司的Java面试题集
大公司的Java面试题集大公司的Java面试题集
大公司的Java面试题集
 
7. 錯誤處理
7. 錯誤處理7. 錯誤處理
7. 錯誤處理
 

Similaire à jasmine入门指南

软件工程 第七章
软件工程 第七章软件工程 第七章
软件工程 第七章浒 刘
 
Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Wade Huang
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7javatwo2011
 
Java 6中的线程优化真的有效么?
Java 6中的线程优化真的有效么?Java 6中的线程优化真的有效么?
Java 6中的线程优化真的有效么?wensheng wei
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术bigqiang zou
 
Testing survey
Testing surveyTesting survey
Testing surveyTao He
 
Ecma script edition5-小试
Ecma script edition5-小试Ecma script edition5-小试
Ecma script edition5-小试lydiafly
 
Part04 软件测试方法论
Part04 软件测试方法论Part04 软件测试方法论
Part04 软件测试方法论aellaw
 
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 JavaIKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java建興 王
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
Web testing automation
Web testing automationWeb testing automation
Web testing automationkuozui
 
钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会Zhi Zhong
 
香港六合彩
香港六合彩香港六合彩
香港六合彩aaveow
 
Java面试知识
Java面试知识Java面试知识
Java面试知识yiditushe
 

Similaire à jasmine入门指南 (20)

软件工程 第七章
软件工程 第七章软件工程 第七章
软件工程 第七章
 
Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
 
Java 6中的线程优化真的有效么?
Java 6中的线程优化真的有效么?Java 6中的线程优化真的有效么?
Java 6中的线程优化真的有效么?
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术
 
Testing survey
Testing surveyTesting survey
Testing survey
 
Ecma script edition5-小试
Ecma script edition5-小试Ecma script edition5-小试
Ecma script edition5-小试
 
Part04 软件测试方法论
Part04 软件测试方法论Part04 软件测试方法论
Part04 软件测试方法论
 
Sun java
Sun javaSun java
Sun java
 
前端测试
前端测试前端测试
前端测试
 
前端测试
前端测试前端测试
前端测试
 
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 JavaIKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
 
Web testing automation
Web testing automationWeb testing automation
Web testing automation
 
钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会
 
Xpp
XppXpp
Xpp
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
ev2oik
ev2oikev2oik
ev2oik
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Java面试知识
Java面试知识Java面试知识
Java面试知识
 

jasmine入门指南