节点笑话测试:TypeError“ X”不是构造函数

时间:2018-12-11 17:49:10

标签: javascript node.js express jestjs enzyme

我正在尝试为我的一个控制器编写测试,并且遇到一个问题,指出require(...) is not a constructor 这是指第5行。

我的PostFormData.js发送了一个测验提交,这就是我想要测试的东西。希望对我需要做些什么才能获得通过的了解。

// PostFormData.spec.js
const request = require('supertest')
const express = require('express')

const postFormData = new (require('../PostFormData'))()

describe('PostFormData', () => {
  const app = express()
  app.post('/post-form-data', postFormData.index)

  it('should return success', (done) => {
    request(app)
      .post('/post-form-data', {})
      .set('Accept', 'application/json')
      .expect(200)
      .then((res) => {
        expect(res.body).toMatchSnapshot()
        done()
      })
      .catch(err => done.fail(err))
  })
})

// PostFormData.js
class PostFormData {
  constructor() {
    this.index = this.index.bind(this)
  }

  index(req, res) {
    const { formId, ...data } = req.body
    api.post(`form/${formId}/submission.json`, data)
      .then((fin) => {
        res.json({
          status: fin.status,
          data: req.body
        })
      })
  }
}

module.exports = PostFormData

0 个答案:

没有答案