如何使用supertest声明猫鼬的验证错误?

时间:2015-07-04 00:51:13

标签: node.js mongodb express mongoose supertest

我正在尝试使用$hash{a}{value} = 0; $hash{a}{subhash}{ten} = 10; 验证REST端点返回的响应是否包含supertest验证的验证错误,如下所示

moongose

我正在编写以下测试

errors: Object {
  firstName: Object {
    kind: 'required',
    message: 'Path `firstName` is required.',
    name: 'ValidatorError',
    path: 'firstName',
    properties: Object {
      message: 'Path `{PATH}` is required.',
      path: 'firstName',
      type: 'required'
    },
  }

但我收到了以下错误

it('should return well formatted error response when first name is missing', function(done){
    var user = {lastName:"Ranger", email:"dan.ranger@gmail.com"};
    request(app)
    .post('/api/user')
    .send(user)
    .end(function(err, res){
        res.body.should.have.property("path", "firstName");
        done();
    });
});

我怎么写这样的断言?

1 个答案:

答案 0 :(得分:0)

您声称res.body具有属性'path',但res.body是仅包含属性errorsmessage和{{1}的父对象}。

您可以测试这些属性,也可以按如下方式访问嵌套的错误对象:

name

测试父对象的属性可能更方便,因为这应该足够了。