【发布时间】:2021-11-18 21:44:43
【问题描述】:
我在一个项目中实现了一个重定向回之前访问过的页面,现在必须调整一些失败的测试,因为:
Cannot read property 'headers' of undefined
TypeError: Cannot read property 'headers' of undefine
我搜索了一段时间,但找不到一个好的解决方案或将给定的答案转移到我当前的问题。
功能
export const getServerSideProps: GetServerSideProps<Props> = async (ctx) => {
...
const referer = ctx.req.headers.referer
let backlink = referer
if (!referer) {
...
backlink = ...
}
return {
props: {
...initialProps.props,
product,
backlink,
...
}
}
测试
it('getServerSideProps should return product', async () => {
mocked(getProductByKey).mockResolvedValueOnce(mockedProducts[0])
const ctx = {
query: { productKey: mockedProducts[0].key } as ParsedUrlQuery,
}
const result = await getServerSideProps(ctx as GetServerSidePropsContext)
expect((result as any).props.product).toEqual(mockedProducts[0])
})
有没有办法模拟 context.req.headers.referer?我还需要这个来进行我自己的尚未编写的重定向测试。
【问题讨论】:
标签: node.js reactjs testing jestjs