我应该测试返回的对象作为一个整体还是单独测试其属性
should I test returned object as a whole or separately its properties
我有一个返回验证结果对象的方法:
this.validate = function() {
//some validation code here
return {
result: validation result,
message: "some message here",
errors: []
}
}
例如,要测试验证失败,我可以通过以下方式执行:
var validationResult = {
result: failed,
message: "some message here",
errors: []
}
expect(validation.validate(nodes)).toEqual(validationResult);
或者这样:
expect(validation.validate(nodes).result).toEqual(false);
似乎第二个选项是我应该如何测试它。正确吗?然后我是否应该测试整个对象,例如,它是否具有预期的结构(字段)?
我建议验证整个对象,最好分别匹配每个属性,并且测试应该确切地知道应该返回哪个错误,只需匹配结果布尔值,即使有不同类型的错误也会通过。 toEqual使用深度匹配并匹配对象的所有属性。
相关文章:
- 测试一个简单的javascript按钮
- 在JavaScript中测试一个无效参数w/Chai
- 在jQuery中,如何测试一个元素是否是同一类的多个元素中的第一个
- 测试一个简单的指令
- javascript测试一个值是否是一个数字和一个大于0的数字
- jQuery,如何测试一个变量是一个文本节点,不包含任何标记
- 用茉莉花测试一个角度的承诺
- 如何测试一个脚本,用茉莉花加载谷歌地图
- 有没有办法在我的单元测试中测试一个对象是否“是”Backbone.Model
- 茉莉花测试一个承诺,然后功能
- 使用 Sinon.js 测试一个函数是否调用 ES6 模块中的另一个函数
- JavaScriptif语句测试一个或另一个,但不能同时测试两者
- 如何测试一个函数在另一个函数之前被调用
- Mocha正在测试一个post函数
- Jasmine-测试一个返回localStorage项的服务
- 测试一个复杂的AngularJS模块(自动展开菜单)
- 模拟和测试一个按键事件与摩卡,Chai, Sinon
- 测试一个由承诺返回的函数——检查错误
- 测试一个多维数组内的操作是否匹配一个数字
- 我如何测试一个网站的内存泄漏