я использую Мангуст с обещаниями, окружив его таким образом с помощью метода Bluebird в:Надлежащие обещания обработки ошибок при испытаниях мокко
var mongoose = promise.promisifyAll(require('mongoose'))
Тогда я пытаюсь использовать метод асинхронной:
var newUser = new User({email: '[email protected]', password: '123', userType: 'admin', name: 'paco'});
newUser.saveAsync()
.then(function (createdUser) {
console.log(createdUser);
should.exist(createdUser);
done();
})
.catch(function (err) {
console.log(err);
should.not.exist(err);
done();
});
Однако, поскольку схема получила уникальный индекс для поля электронной почты, если я попытаюсь запустить это несколько раз, то будет вызван Unhandled rejection AssertionError: expected Error
, что приведет к сбою.
Как я могу надлежащим образом обработать любую ошибку?
'should.not.exist (ERR),' выбросит 'AssertionError', когда есть' err', что вызывает ваш тест на провал. – Bergi
@ Bergi Как я должен обрабатывать его *? Я только дождался его, чтобы выполнить тест, не сломав его. – diegoaguilar
Попробуйте '.catch (done)' – Bergi