在Node.js中模拟中间件/表单数据的测试中间件

时间:2018-08-03 15:22:57

标签: javascript node.js unit-testing multipartform-data middleware

因此,我正在寻找有关如何在 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

任何想法在这种情况下如何测试中间件?感谢您的帮助!

0 个答案:

没有答案