繁体   English   中英

使用 Jasmine 监视函数中的变量

[英]Using Jasmine to spy on variables in a function

假设我有一个功能如下

function fun1(a) {
  var local_a = a;
  local_a += 5;
  return local_a/2;
}

有没有办法测试 local_a 的值应该是什么(例如在第一行代码中)? 我对茉莉花有点陌生,所以被卡住了。 提前致谢。

并不真地。 您可以执行以下操作:

测试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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM