1. 什么是jasmine
Jasmine是一个Javascript的BDD(Behavior-Driven Development)测试框架,不依赖任何其他框架。
这里不是 茉莉花
2. jasmine使用
从 这里 下载 stantd-alone安装包,并解压,双击打开里面的 specRunner.html
, 即可看到测试示例,我们只要将自己的js源文件和测试文件分别放到 src
和 spec
文件夹中。
specRunner.html
到底是长什么样子的呢? f12
我们发现 先后加载了 jasmine.css, jasmine.js ,jasmine-html.js, boot.js
jasmine框架相关文件和 我们的 js源文件
jasmine测试文件
3. 基本语法
-
describe(String , function)
可以理解为是一个测试集或者测试包(为了便于称呼,我们本文中统一叫测试集,官方称之为suite),主要功能是用来划分单元测试的,describe是可以嵌套使用的 -
it(String , function)
测试用例(官方称之为spec) -
except
断言表达式
4. 第一个例子
Step 1:
我们先创建一个名为myFirstJasmineTest.js的文件。
Step 2:
在Html页面中同时引用jasmine的框架文件与myFirstJasmineTest.js文件
Step 3:
在myFirstJasmineTest.js文件中添加如下内容
describe("My first Jasmine test", function() {
it("a spec with an expectation", function() {
expect(1).toBe(1);
expect(1===1).toBe(true);
expect('a').not.toBe('b');
});
it("an other spec in current suite", function() {
expect(true).toBe(true);
});
});
describe("My first Jasmine test", function() {
it("nothing", function() {
});
});
5. except匹配
每个匹配方法在期望值和实际值之间执行逻辑比较,它负责告诉jasmine断言的真假,从而决定测试的成功或失败。
肯定断言 expect(true).toBe(true);
否定断言 expect(false).not.toBe(true);
jasmine有很丰富的匹配方法,而且可以自定义匹配方法。 内置的匹配方法有:
- toBe():基本类型判断
- toEqual():toEqual有两种用法,对于基本的类型,toEqual相当于toBe;toEqual还可以用来判断对象
- toMatch(): 使用正则表达式判断
- toBeUndefined(): 判断是否是undefined,与toBeDefine相反
- toBeNull():判断是否是null
- toBeTruthy():判断是否能转换成bool型,判断的是否是False
- toContain(): 判断集合是否包含(可以是普通类型,和可以是对象)
- toBeLessThan(): 判断值类型的大小,结果若小则为True(也可以判断字符及字符串,以ascii码的大小为判断依据)
- toBeCloseTo():判断数字是否相似(第二个参数为小数精度,默认为2位)
- toThrowError(): 判断是否抛出异常
- 本文参考于https://www.cnblogs.com/wushangjue/p/4541209.html,如有问题望告知