在 chai 版本 5.1.1 中使用动态导入时出现 chai-http 中间件问题

问题描述 投票:0回答:1

我目前使用 npm chai 版本 5.1.1,它现在仅支持导入而不支持 require。我使用了动态导入,效果很好。但是,当我将 chai-http 中间件与 chai 一起使用时,它没有按预期工作并且给我一个错误。

这是我正在使用的语法:

let chai, expect, chaiHttp, request;

(async() => {
  expect = (await import ('chai')).expect;
  chai = (await import('chai')).default;
  chaiHttp = (await import('chai-http')).default;
  chai.use(chaiHttp);
})();

it("should return a 200 response", async function() {
    const response = await chai.request(app).get('/abc');
    expect(response).to.have.status(200);
});

看来 chai.use(chaiHttp);由于 JavaScript 的异步行为,未按预期运行。我不确定为什么会发生这种情况。

任何人都可以帮助我理解这个问题并提出可能的解决方案吗?

javascript node.js npm chai chai-http
1个回答
0
投票

这样改变

  const use = (await import('chai')).use;
  expect = (await import ('chai')).expect;
  chaiHttp = (await import('chai-http')).default;
  chai = use(chaiHttp);
© www.soinside.com 2019 - 2024. All rights reserved.