假设我有如下功能
function fun1(a) {
var local_a = a;
local_a += 5;
return local_a/2;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法测试local_a的值应该是什么(例如在第一行代码中)?我对Jasmine有点新鲜,所以卡住了.提前致谢.
ggo*_*zad 16
并不是的.您可以执行以下操作:
测试结果fun1():
expect(fun1(5)).toEqual(5);
Run Code Online (Sandbox Code Playgroud)
确保它实际被调用(如果它通过事件发生时很有用)并且还测试结果:
var spy = jasmine.createSpy(window, 'fun1').andCallThrough();
fire_event_calling_fun1();
expect(spy).toHaveBeenCalled();
expect(some_condition);
Run Code Online (Sandbox Code Playgroud)
真正重现整个功能检查中间结果:
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23455 次 |
| 最近记录: |