期望不是在supertest-as-promise中定义的

时间:2016-09-02 07:43:17

标签: node.js mongoose supertest-as-promised

当我使用波纹管代码时,期望未显示的错误(在此之内)

文档link

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");
    });
});

我该怎么检查?

2 个答案:

答案 0 :(得分:0)

这是对文档的一种疏忽,更不用说包中不包含独立的expect函数了。

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

const expect = require('chai').expect;
...

答案 1 :(得分: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);
});