В моем приложении node.js есть метод JS, который я хочу выполнить модульное тестирование.Он делает несколько вызовов метода сервиса, каждый раз передавая этот сервис обратный вызов;обратный вызов накапливает результаты.
Как я могу использовать Jasmine, чтобы заглушить метод службы, чтобы при каждом вызове заглушки он вызывал обратный вызов с ответом, определяемым аргументами?
Это (как) метод, который я тестирую:
function methodUnderTest() {
var result = [];
var f = function(response) {result.push(response)};
service_method(arg1, arg2, f);
service_method(other1, other2, f);
// Do something with the results...
}
Я хочу указать, что когда service_method вызывается с arg1 и arg2, заглушка будет вызывать обратный вызов f с определенным ответом, и когдавызывается с other1 и other2, он вызывает тот же самый обратный вызов с другим конкретным ответом.
Я бы также рассмотрел другую структуру.(Я попробовал Nodeunit, но не смог сделать то, что хотел.)