jasmine中的matchers
来源:互联网 发布:ubuntu dhcp server 编辑:程序博客网 时间:2024/06/07 13:00
原文http://www.cnblogs.com/mz121star/archive/2012/11/14/jasmine3.html
expect(x).toEqual(y);
当x和y相等时候通过
expect(x).toBe(y);
当x和y是同一个对象时候通过
expect(x).toMatch(pattern);
x匹配pattern(字符串或正则表达式)时通过
expect(x).toBeDefined();
x不是undefined时通过
expect(x).toBeUndefined();
x
是undefined时通过
expect(x).toBeNull();
x是null时通过
expect(x).toBeTruthy();
x和true等价时候通过
expect(x).toBeFalsy();
x和false等价时候通过
expect(x).toContain(y);
x(数组或字符串)包含y时通过
expect(x).toBeLessThan(y);
x小于y时通过
expect(x).toBeGreaterThan(y);
x大于y时通过
expect(function(){fn();}).toThrow(e);
函数fn抛出异常时候通过
旧版本中的一些matchers(匹配器)
toNotEqual
,toNotBe
,toNotMatch
,toNotContain
将在以后被废除.建议使用not.toEqual
,not.toBe
,not.toMatch
, andnot.toContain
respectively.
所有的matchers匹配器支持添加
.not反转结果:
expect(x).not.toEqual(y);
自定义Matchers(匹配器)
以上提供的Matchers(匹配器)已经可以满足你的大部分需求了,但是我们仍然推荐你按照需求定义自己的匹配器去匹配更加复杂的情况,自定义匹配器可以使你的代码意图更加明了,并且可以帮你移除重复的代码。
自定义(matchers)匹配器是一件很简单的事件,一个matcher(匹配器)函数使用 this.actual 接收到一个实际值,并且该匹配函数也可以包括0或多个参数。当实际值通过匹配器的匹配,你应当返回一个ture否则返回false。
以下代码定义了一个名为
toBeLessThan()的匹配器
:
toBeLessThan: function(expected) {return this.actual < expected;};
将匹配器添加到suite中, 在before或者it代码块内调用
this.addMatchers()
beforeEach(function() {this.addMatchers({toBeLessThan: function(expected) {return this.actual < expected;}});});
你可以自定义匹配失败的消息,在匹配函数中给this.message赋值即可实现
beforeEach(function() {this.addMatchers({toBeLessThan: function(expected) {var actual = this.actual;var notText = this.isNot ? " not" : "";this.message = function () {return "Expected " + actual + notText + " to be less than " + expected;}return actual < expected;}});});
- jasmine中的matchers
- Javascript测试框架Jasmine(二):Matchers
- Matchers
- Jasmine
- JS学习之Jasmine中的timeout
- hamcrest matchers 介绍
- Matchers and assertthat
- Cape jasmine
- jasmine入门
- Jasmine 语法
- Jasmine-Spy
- jasmine学习
- jasmine单元测试
- Jasmine单元测试
- mokito matchers when的坑
- Messager for jasmine
- Javascript测试框架Jasmine
- Jasmine 部分API说明
- 创建DLL文件 以及 动态加载和静态加载 以及两者之间的区别
- 使用IDEA将本地项目提交到svn上
- map的整理——面试问题
- Windows 获取文件操作时间的方法
- C/C++常用算法【C语言顺序查找(顺序表)】【2】
- jasmine中的matchers
- 版納遐想
- Android 记录-点滴
- 文章标题
- 关于安转android studio 在选择JDK找不到路径的问题
- String 类的用法
- Clob Class 介绍
- IDEA14从svn上导入项目
- metasploit 渗透测试(2)-基础