微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Typescript 中模拟 Express Req 和 Res

如何解决如何在 Typescript 中模拟 Express Req 和 Res

我最近搬到了 TS 并使用 Express 构建了一个小微服务。习惯了 JavaScript,在那里你可以做任何你想做的事,它很容易测试你的中间件和控制器,但我一开始就在 TS 中使用它。尝试在定义的路由上测试作为 .get() 方法回调的控制器:

it("should return a error message if limit and skip params are not validated",() => {
    const req = {
      query: {
        limit: "AA",skip: "AA",},};

    const res = {
      status: jest.fn(chainableMock),json: () => {},};
    const next = jest.fn();

    const response = myController.validateQueryParams(req,res,next);
最后一行中的

'req' 显示错误,因为它与 express.Request 类型不匹配,这是有道理的。我认为在使用 TS 进行测试时,必须有一种方法可以解决这个问题,或者可能是一个全新的场景。

我怎样才能避免这个错误,并希望继续按照我所知道的方式进行测试?显然我不应该仅仅为了测试而修改生产的代码类型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。