我有一个返回验证结果对象的方法:
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);
似乎第二种选择是我应该如何测试它。这是对的吗?我应该测试整个对象,例如,它是否具有预期的结构(字段)?
答案 0 :(得分:1)
我建议验证整个对象,最好分别匹配每个属性,并且测试应该确切知道应该返回哪个错误,只要匹配结果boolean即使存在不同类型的错误也会通过它。 toEqual使用深度匹配并匹配对象的所有属性。