Одним из пунктов использования NodeUnit является написание новых функций и их частое тестирование. Проблема в том, что если одна из протестированных функций выдает ошибку (включая ошибки времени выполнения JS), ошибка не отображается пользователю. Вот простейший возможный тестовый пример: (Обратите внимание, что a.b.c.d вызовет ошибку времени выполнения)
exports.all = {
one: function( test ){
test.done();
},
two: function( test ){
as( function( err, res ){
test.done();
});
},
}
function as( callback ){
process.nextTick( function() {
a = testMe();
callback( null, a );
});
}
function testMe(){
a.b.c.d.e = 100;
return 10;
}
Однако testMe() может быть новой функцией, которую я разрабатываю. Неинициализированная переменная или что угодно просто замолчит.