小编Jom*_*nho的帖子

模拟 Response.headers.get()

我有一个从 http 响应标头中提取文件名的方法:

export const getFilenameFromResponse = response => {
 const filenameRegex = /filename[^=\n]*=["](.*?)["]/;
 const matches = filenameRegex.exec(
   response.headers.get('Content-Disposition')
 );
 return matches != null && matches[1] ? matches[1] : '';
}; 
Run Code Online (Sandbox Code Playgroud)

现在我要用 Jest 编写一个单元测试。不幸的是,In 不能做类似的事情

const headers = myHeaders = new Headers([
    ['Content-Disposition', 'form-data; fileName="testfile.txt"']
]);
const response = new Response ({headers: newHeaders});
result = getFilenameFromResponse(response)
expect(result).ToEqual('testfile.txt';
Run Code Online (Sandbox Code Playgroud)

因为测试失败,因为结果是空字符串。我猜想,这是由于响应对象的初始化错误造成的。

有没有办法嘲笑response.headers.get()

javascript mocking reactjs jestjs

5
推荐指数
1
解决办法
9474
查看次数

标签 统计

javascript ×1

jestjs ×1

mocking ×1

reactjs ×1