我刚刚开始学习超级测试和摩卡测试。我已经阅读了supertest的api文档,它说supertest支持superagent提供的所有较低级别的API。 SuperAgent说我们可以通过以下方式发送formData对象:
request.post('/user') .send(new FormData(document.getElementById('myForm'))) .then(callback)
但是当我尝试使用这种形式的超级测试发送formData对象时:
server .post('/goal_model/images/' + userId + '/' + tmid) .set('Authorization',`Bearer ${token}`) .send(formData) .expect("Content-type",/json/) .expect(201) .end(function(err,res){ should(res.status).equal(201); console.log(res.message); done(); });
formData类似于:
let file; let formData = new FormData(); let fn = "../../../Downloads/Images/5k.jpg"; formData.append("image", file);
然后,当我尝试发送此对象时,它只是说:
TypeError: "string" must be a string, Buffer, or ArrayBuffer
是否可以通过这种方式发送formData对象?我做错了什么或怎么做?如果没有,为什么?我搜索了许多相关问题,但没有一个可以解决我的问题。我现在真的很挣扎。
我刚刚开始学习超级测试和摩卡测试。我已经阅读了supertest的api文档,它说supertest支持superagent提供的所有较低级别的API。 SuperAgent说我们可以...
您可以使用.attach()
的supertest
方法将文件发送到服务器。 .attach
的功能签名: