Тестирование узла Jest: TypeError "X" не является конструктором - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь написать тест для одного из моих контроллеров и сталкиваюсь с проблемой, которая гласит 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...