我应该测试返回的对象作为一个整体还是单独测试它的属性
should I test returned object as a whole or separately its properties
我有一个方法 returns 验证结果对象:
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 使用深度匹配,匹配对象的所有属性。
我有一个方法 returns 验证结果对象:
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 使用深度匹配,匹配对象的所有属性。