尝试在单元测试中创建FormData对象时出现错误

时间:2019-05-08 20:43:38

标签: node.js unit-testing multipartform-data form-data

我需要为Chai单元测试创​​建一个用户,该用户需要一个profileImage,在我的前端我以FormData的身份传入。本单元测试应该模拟用户及其图像的创建,但是我无法做到这一点。

我决定尝试模拟FormData对象:

  const FormData = require('form-data')
  const FS = require('fs')
  const Path = require('path')

  // ...

  const file = {
    name: 'placeholder.jpg',
    lastModified: 1556813605575,
    lastModifiedDate: new Date(),
    size: 30179,
    type: 'image/jpg',
    webkitRelativePath: '',
    file: {
      value: FS.createReadStream(Path.resolve(__dirname, '../fixtures/placeholder.jpg')),
      options: {
        filename: 'placeholder.jpg',
        contentType: 'image/jpg'
      }
    }
  }
  const formData = new FormData()
  formData.append('profileImage', file, file.name)

我需要将其发布,以便我可以创建用户,并且它导致以下错误,这对我来说毫无意义:

  

TypeError:source.on不是函数

为什么会这样?我怎样才能解决这个问题?我该如何模拟将FormData文件放入用于后端单元测试的POST请求的正文中?

谢谢!

0 个答案:

没有答案