Ответ 1
Не совсем. Вы можете сделать следующее, хотя:
Проверьте результат fun1()
:
expect(fun1(5)).toEqual(5);
Убедитесь, что он действительно вызван (полезно, если это происходит через события), а также проверьте результат:
var spy = jasmine.createSpy(window, 'fun1').andCallThrough();
fire_event_calling_fun1();
expect(spy).toHaveBeenCalled();
expect(some_condition);
На самом деле воспроизвести всю функцию, проверяющую промежуточные результаты:
var spy = jasmine.createSpy(window, 'fun1').andCallFake(function (a) {
var local_a = a;
expect(local_a).toEqual(a);
local_a += 5;
expect(local_a).toEqual(a+5);
return local_a/2;
});
fun1(42);
expect(spy).toHaveBeenCalled();