无法使用Nock.js模拟带有csv文件附件的HTTP Post请求。
使用superagent
这是可能的:
authenticatedSession
.post('/foo')
.set('Content-Type', 'multipart/form-data')
.attach('csv', barCsv)
.expect(200)
使用axios
,请求如下:
const config = { headers:
{
'Content-Type': 'multipart/form-data'
} };
const formData = new FormData();
formData.set('fooCsv', file);
axios.post(`${API_URL}/foo`, formData, config)
但是对于nock,下面的请求还没有达成。
nock(API_URL)
.matchHeader('content-type', 'multipart/form-data')
.post('/foo', formData)
.reply(200, successfulResponse);
唯一的“有用”错误是:Error: Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream
。
如何重新格式化axios和/或nock请求?如何在.post
中使用nock匹配相应的formData?