1

当我使用下面的代码时,未定义显示的错误(在 then 内部)

文档链接

it("should return error", function () {
  return request(app).get("/verify")
    .expect(200)
    .then(function (res) {
      return expect(res.body.error[0].message).to.equal("NEW_CODE_REQUIRED");
    });
});

我该如何检查?

4

2 回答 2

2

这有点疏忽了文档,更不用说expect包中不包含独立功能。

为此,您必须使用单独的包,例如chai

const expect = require('chai').expect;
...
于 2016-09-02T07:51:14.320 回答
0

我通过以下过程解决了它。添加了一个函数来检查预期的错误,如果得到意外的值则返回错误,并且该函数从.expect()

function checkErrorMessage(res) { // this function throw error if got unexpected result
   if(res.body.error[0].message === 'NEW_CODE_REQUIRED') {
     return false; // return false means no error (got expected result)
   } else {
     return true; // return true means return error (got unexpected result)
   }
}

it("should return error", function () {
  return request(app).get("/verify")
    .expect(200)
    .expect(checkErrorMessage);
});
于 2016-09-02T08:22:39.623 回答