我正在尝试为我的一个控制器编写测试,并且遇到一个问题,指出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