Здравствуйте, уважаемое сообщество. Прошу подсказать/указать/направить на путь истинный). Только начал изучать nodejs и пытаюсь начать писать тесты. И практически сразу встал вопрос:
Есть скажем такая конструкция, упрощенно:
method1(arg1, arg2, callback);
method2(arg3, arg4, callback);
method3(arg5, callback) {
async.waterfall([
function(cb) {
method1(agr1, arg2, function(error, result1) {
if (error) return cb(error);
// ... smth code
cb(null, result1);
});
},
function(result1, cb) {
method2(agr3, arg4, function(error, result2) {
if (error) return cb(error);
// ... smth code
cb(null, result2);
});
}
], function(error, results) {
// ... smth code
});
});
Вопросы, собственно, следующие:
1) Стоит ли тестировать method1, method2 отдельно? или же можно их тестировать уже для конкретно method3?
2) Читаю, что для более лаконичного вида тестов используют sinon, но и тут встает вопрос, ибо непонятно за что хвататься?
Если я правильно понял общий подход написания тестов, что желательно обертывать каждый метод/функцию в отдельный тест. В случае, если в одном методе используются какие-то сторонние вещи, то их заворачивать в spy, stub, mock. Но спустя немалое количество времени, я так и не могу наваять ничего стоящего конкретно для данного примера.
Заранее спасибо!