是否可以测试Next.js 13 API路由处理程序?

wlp8pajw  于 2023-06-29  发布在  其他
关注(0)|答案(1)|浏览(110)

尝试用Jest测试一个非常简单的路由:

import { NextResponse } from 'next/server'

export async function GET() {
  return NextResponse.json({ success: true })
}

但是当我在测试中调用await GET()时,我得到以下错误:
参考错误:未定义请求

> 1 | import { NextResponse } from 'next/server'
    | ^

我尝试将一个请求对象传递到处理程序中,然后用node-mocks-http模拟它,但发生了同样的错误。
如何对这些处理程序进行单元测试?

s6fujrry

s6fujrry1#

我也有同样的问题
参考错误:响应未定义Jest
我决定:
yarn install -D isomorphic-fetch
然后导入到测试文件
import 'isomorphic-fetch'
示例:

...
import { checkAuthenticated } from '@api/is-authenticated';
import 'isomorphic-fetch';

jest.mock('@database/video.repo');

...

相关问题