因此,我正在寻找有关如何在 node.js 中进行单元测试中间件的解决方案。专门介绍如何模拟multipart / form-data请求。在nodejs中,我使用multer读取后端上的数据。这是我的代码摘要:
// middleware.js
const multer = require('multer')
const storage = multer.memoryStorage()
const upload = multer({ storage }).single('data')
module.exports = (req, res) =>
new Promise((resolve, reject) => {
upload(req, res, (err) => {
err ? reject(err) : resolve({ message: 'No error on multer '})
})
}),
然后,在我的控制器上:
router.post('/myroute',
(req, res, next) => {
uploadFile(req, res)
.then(() => { next() })
.catch(res.json)
.done()
})
现在,要对此进行测试,我需要在测试文件中使用中间件。我正在与node-mock-http合作,但发现他们仍然不支持multipart/form-data
任何想法在这种情况下如何测试中间件?感谢您的帮助!