I have an app built on Express.js and I’d like to test the file upload functionality. I’m trying to reproduce the object parsed to req.files (when using express.bodyParser middleware). How can I do this?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You can do this directly in Mocha but it’s a bit tricky. Here’s an example posting an image:
The name parameter of Content-Disposition is what your file will be accessible as via req.files (so req.files.image for my example)
You can also use an array value like this: name=”images[]” and your file(s) will be available via an array, e.g: req.files.images[0]
Also if you’re not already using it you should have a look at this (makes mocha/express testing a ~bit~ easier):
https://github.com/visionmedia/express/blob/master/test/support/http.js
Edit: Since express 3-beta5, express uses supertest. To look at the old http.js code look here: https://github.com/visionmedia/express/blob/3.0.0beta4/test/support/http.js
Or simply move over to supertest..