Трябва да уведомите mocha, че тестът, който пишете, е асинхронен. Добавете готово обратно извикване към вашия it
извикване на функция и извикване на това готово обратно извикване от connection.connect. Готовото обратно извикване е достатъчно интелигентно, за да разбере дали грешката е била подадена като първи аргумент и в случай, че грешката бъде предадена, тестът ще се провали.
describe('Access to DB', function(){
describe('#fail', function(){
it('should return -1 because wrong credentials', function(done){
var connection = mysql.createConnection({
host: 'right host',
user: 'wrong user',
password: 'wrong password',
database: 'right database'
});
connection.connect(done);
});
})
});