Я тестирую создание пользователя в mongoDBusing Mocha.Ниже приведен тест для создания пользователя. Основная проблема заключается в том, что я получаю 2 ошибки во время выполнения теста npm: 1. терминал останавливается / отстает и никогда не завершает тест.2. Выдается ошибка: "(узел: 21233) UnhandledPromiseRejectionWarning: TypeError: done не является функцией" Я неправильно выполняю обещание с done?
Проект структуры каталогов
|-> src
->user.js
|-> project
->create_test.js
->test_helper.js
create_test.js
//startoffile
const assert = require('assert');
const User = require ('../src/user');
describe('Creating records', () => {
it('saves a user', () => {
//run an assertion: validate data
let joe = new User({ name: 'Joe' });
joe.save().then( (done) => {
assert(!joe.isNew);
done();
});
});
});
//endoffile
Он ссылается на файл user.js для создания пользователя.
user.js
//startoffile
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
var UserSchema = new Schema({
name: String
});
var User = mongoose.model('user', UserSchema);
module.exports = User;
//endoffile
Кроме того, существует вспомогательный файл, который включает несколько хуков, которые проверяют соединение и отбрасывают все данные в таблице.
test_helper.js
//startoffile
const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
before( (done) => {
mongoose.connect('mongodb://localhost/users_test');
mongoose.connection
.once('open', () => { done(); })
.on('error', (error) => {
console.warn('Warning', error);
});
});
beforeEach((done) => {
mongoose.connection.collections.users.drop(
() => {
done();
});
});
//endoffile