我想使用 node-mocks-http 用 Jest 测试我的 Next.js API 函数。这是我要测试的功能:
export default async (
req: NextApiRequest,
res: NextApiResponse
): Promise<void> => {
const foods = await getFoods()
res.json(foods)
}
这是我的测试文件的样子:
import { createMocks } from 'node-mocks-http'
import handler from './foods'
test('api route', async (done) => {
try{
const { req, res } = createMocks({
method: 'GET',
})
await handler(req, res)
expect(res._getStatusCode()).toBe(200)
done()
} catch(err){
done(err)
}
})
没有await getFoods()
调用,一切都按预期工作。但是,通过调用我得到错误:Jest did not exit one second after the test run has completed.
这getFoods()
是一个异步棱镜数据库查询。这里缺少什么?