【发布时间】:2015-12-08 17:51:30
【问题描述】:
我正在写一个 Jasmine 测试(此处简化示例),需要验证类似的事情。
让我们说一个对象:
var obj = {
apple: true,
banana: true,
grape: false,
lemon: true
}
我的测试是验证obj的所有属性是否为真。
所以我写:
it('should have all properties as true.', function(){
for(var i in obj){
expect(obj[i]).toBe(true);
}
})
现在,当这个测试运行时,它会失败,因为葡萄是假的。但是,输出并没有告诉我哪个属性(葡萄)失败了。
我想自定义输出,以便它告诉我葡萄属性失败。所以,我想这样做: 覆盖期望函数以某种方式打印如下内容:
Expected false to be true for grape
我知道我可以在描述中为每个属性使用单独的“it”块循环这些。但是,假设“obj”对象仅在 beforeEach 块中的初始化之后才可用,因此这不是我的选择。
有什么建议吗?
【问题讨论】:
标签: jasmine