Чтобы асинхронный тест Мокша не прошел, передайте ошибку в качестве аргумента функции готового обратного вызова
it('should find user by id', (done) => {
users.findByPk(2)
.then((retrievedUser) => {
expect(retrievedUser.dataValues).to.deep.equal('it should break');
done();
})
.catch((err) => {
console.log(`something went wrong [should find user by id] ${err}`);
done(err);
})
});
В качестве альтернативы используйте асинхронную функцию без обратного вызова:
it('should find user by id', async () => {
const retrievedUser = await users.findByPk(2);
try {
expect(retrievedUser.dataValues).to.deep.equal('it should break');
} catch (err) {
console.log(`something went wrong [should find user by id] ${err}`);
throw err;
}
});
Тем не менее, я бы не рекомендовал регистрировать сообщение об ошибке неудачных тестов, потому что это то, что Mocha уже делает для вас в типичной настройке. Так что я бы избавился от блока try-catch в приведенном выше примере.
it('should find user by id', async () => {
const retrievedUser = await users.findByPk(2);
expect(retrievedUser.dataValues).to.deep.equal('it should break');
});