Я создаю тесты интеграции для моего API и запустить в следующее сообщение об ошибке:Экспресс-тестирование интеграции API: ошибка: превышен превышение 2000 мс. Убедитесь, что сделано() обратного вызова вызывается в этом тесте
Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test
Я знаю, что этот вопрос был задан несколько раз, но ответы не помогли мне решить эту проблему. Тест на вопрос, чтобы проверить маршрут POST, и сделать обратный вызов вызывается:
it('should create a transaction', function(done) {
request(app)
.post('/api/transactions')
.send({
name: 'Cup of coffee',
amount: 2.50,
date: '2016-11-17T17:08:45.767Z'
})
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(201)
.end(function(err, resp) {
expect(resp.body).to.be.an('object');
done();
})
})
Сообщение маршрут выглядит следующим образом:
.post(function (req, res) {
var transaction = new Transaction()
transaction.name = req.body.name
transaction.amount = req.body.amount
transaction.date = req.body.date
transaction.save(function (err) {
if (err) {
res.send(err)
}
res.json(transaction)
})
})
мангуст схемы для сделки:
var mongoose = require('mongoose')
var Schema = mongoose.Schema
var TransactionsSchema = new Schema({
name: String,
amount: Number,
date: { type: Date, default: Date.now }
}, {
collection: 'transactions'
})
module.exports = mongoose.model('Transactions', TransactionsSchema)
Любые идеи? Спасибо :)
Ах человек, очень здорово - спасибо. Так ли это, что мой ноутбук настолько стар, что слишком много времени для запуска тестов? :) – zeKoko