【发布时间】:2020-03-29 01:45:00
【问题描述】:
我有一个带有路由器的 express 应用程序,我想用 Sinon 进行测试。我没有成功模拟传递给请求处理程序的response 参数,希望得到一些帮助。
export const pingHandler = (request, response, next) => {
response.status(200).send('Hello world');
}
这是我目前使用 Mocha、Sinon、Chai 和 sinon-chai 的测试设置。 fakeRes.status 从未按预期调用。
describe("pingHandler", () => {
it("should return 200", async () => {
const fakeResponse = {
status: sinon.fake(() => ({
send: sinon.spy()
}))
};
pingHandler({}, fakeResponse, {});
expect(fakeResponse.status).to.have.been.called;
// => expected fake to have been called at least once, but it was never called
});
});
【问题讨论】:
标签: javascript mocha.js sinon sinon-chai