angular2 单元测试 - jasmine - 属性和方法
Jasmine
属性:
DEFAULT_TIMEOUT_INTERVAL:
静态(static)
等待异步 it(规范)完成的默认时间(毫秒)
MAX_PRETTY_PRINT_ARRAY_LENGTH:
静态(static)
打印数组Array时,要显示的数组元素的最大数量。
限制对象Object显示的键值对数量。
超过这个数字的元素将被省略。
MAX_PRETTY_PRINT_CHARS:
静态(static)
打印时,显示的最大字符数,超过这个数字的字符将被省略。
MAX_PRETTY_PRINT_DEPTH:
静态(static)
打印到对象的最大深度。为了提高打印速度,可以将此值设置为较低值。
方法:
anything()
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值不是 null 或者 undefined,即成功
empty()
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值是空的,即成功
notEmpty()
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值不是空的,即成功
truthy()
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值是 true 或者任何为 true 的值,即成功
falsy()
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值是null、undefined、0、false,即成功
any(clazz)
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值是指定类或者构造函数的实例,即成功
参数:
clazz:Constructor,要检查的构造函数
stringMatching(expected)
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值是一个匹配 RegExp 或者 String 的字符串,即成功
参数:
expected:RegExp | String,要匹配的正则表达式或者字符串
arrayContaining(sample)
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值是一个数组,其中至少包含样本中的元素,即成功
参数:
sample:Array,样本
arrayWithExactContents(sample)
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值是一个数组,其中包含了样本中所有元素(不计顺序排列),即成功
参数:
sample:Array,样本
objectContaining(sample)
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果实际值至少包含样本中的一个键值对,即成功
参数:
sample:Object,必须在实际值中存在的样本
setContaining(sample)
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果样本中每一项都通过了深度相等比较,且实际值中至少有一项与之比较,即成功
参数:
sample:Set,必须在实际值中存在的项的子集
mapContaining(sample)
静态(static)
得到一个匹配器,可用于任何使用了jasmine等式的匹配器(例如: toEqual
, toContain
, 或者toHaveBeenCalledWith
),
如果样本中的每个键值对都通过了深度相等比较,并且实际值中至少有一个键值对通过了深度相等比较,即成功
参数:
sample:map,样本,必须在实际值中存在的项的子集
addMatchers(matchers)
静态(static)
为当前spec范围添加自定义匹配器。
只能在 beforeEach、beforeAll、it 中调用
参数:
matchers:Object,对象的键将是新的异步匹配器的名称
addAsyncMatchers(matchers)
静态(static)
为当前spec范围添加自定义异步匹配器
只能在 beforeEach、beforeAll、it 中调用
参数:
matchers:Object,对象的键将是新的异步匹配器的名称
addCustomEqualityTester(tester)
静态(static)
为当前spec范围添加一个自定义相等性测试器
只能在 beforeEach、beforeAll、it 中调用
参数:
tester:function,此函数接收两个参数进行比较,
如果知道如何比较,则返回比较结果 true 或者 false
如果不知道如何比较,则返回 undefined
addCustomObjectFormatter(formatter)
静态(static)
为当前spec范围添加一个自定义对象Object格式化程序。
只能在 beforeEach、beforeAll、it 中调用
参数:
formatter:function,函数接收一个值进行格式化,
如果知道如何格式化,返回一个结果字符串,
如果不知道如何格式化,返回 undefined。
createSpy(nameopt, originalFnopt) → {Spy}
静态(static)
创建一个空 Spy 对象。
它不会被安装的任何地方,也不会有任何实现
参数:
name:可选(opt),String,spy的名字,将显示在失败的消息中。
originalFn:可选(opt),function,实现真正的功能。
return:spy
createSpyObj(baseNameopt, methodNames, propertyNamesopt) → {Object}
静态(static)
创建一个具有多个spy属性的对象(object)
参数:
baseName:可选(opt),String,spy对象的名称
methodNames:Array<String> | Object,
Array<String>:要创建spy的方法名数组
Object:要创建 spy 的 key(方法名)组合成的对象,并为 returnValue 赋值。
propertyNames:可选(opt),Array<String> | Object,
Array<String>:要创建spy的属性名数组
Object:要创建spy的key(属性名)组合成的对象,并为 returnValue 赋值。
return:Object
addSpyStrategy(name, factory)
静态(static)
为当前spec范围添加自定义 Spy 策略
只能在 beforeEach、beforeAll、it 中调用
参数:
name:String,Spy策略的名称(即你要调用时的名称)
factory:function,工厂函数,返回要执行的计划。
setDefaultSpyStrategy(defaultStrategyFn)
静态(static)
为当前spec范围设置默认 spy 策略
只能在 beforeEach、beforeAll、it 中调用
参数:
defaultStrategyFn:function,spy策略函数
例子:
beforeEach(function() {
jasmine.setDefaultSpyStrategy(and => and.returnValue(true));
});
clock() → {Clock}
静态(static)
获取当前jasmine环境引入的clock模拟
return:Clock
getEnv() → {Env}
静态(static)
获取当前启动的 Jasmine 环境
return:Env