expect 未在 supertest-as-promised 中定义
expect is not defined in supertest-as-promised
当我使用波纹管代码时,显示的错误 expect is not defined(在 then 内部)
文档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");
});
});
我该如何检查?
对文档有点疏忽,更不用说软件包中不包含独立的 expect
函数。
为此,您必须使用单独的包,例如 chai
:
const expect = require('chai').expect;
...
我按照下面的流程解决了。添加了一个函数来检查预期错误,即 return 错误,如果得到意外值,这个函数从 .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);
});
当我使用波纹管代码时,显示的错误 expect is not defined(在 then 内部)
文档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");
});
});
我该如何检查?
对文档有点疏忽,更不用说软件包中不包含独立的 expect
函数。
为此,您必须使用单独的包,例如 chai
:
const expect = require('chai').expect;
...
我按照下面的流程解决了。添加了一个函数来检查预期错误,即 return 错误,如果得到意外值,这个函数从 .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);
});