Javascript 如何测试函数是否未被调用?

Javascript 如何测试函数是否未被调用?,javascript,jasmine,Javascript,Jasmine,我正在测试路由器,有两个函数,我需要测试第一个函数是否被调用,第二个函数是否被调用。有方法可以调用,但没有方法测试函数是否未被调用。我如何测试它 我有这样的代码: var参数、控制器、路由器; beforeach(函数(){ 控制器={ foo:函数(名称、id){ args=[].slice.call(参数); }, 条形图:函数(名称){ } }; spyOn(控制器,“foo”)。和.callThrough(); spyOn(控制器,“bar”)。和.callThrough(); 路由器=

我正在测试路由器,有两个函数,我需要测试第一个函数是否被调用,第二个函数是否被调用。有方法
可以调用
,但没有方法测试函数是否未被调用。我如何测试它

我有这样的代码:

var参数、控制器、路由器;
beforeach(函数(){
控制器={
foo:函数(名称、id){
args=[].slice.call(参数);
},
条形图:函数(名称){
}
};
spyOn(控制器,“foo”)。和.callThrough();
spyOn(控制器,“bar”)。和.callThrough();
路由器=新路由();
match('/foo/bar/{{id}}--{{name}},controller.foo);
match('/foo/baz/{{id}}--{{name}},controller.bar);
exec('/foo/bar/10--hello');
});
它('应该调用foo route',函数(){
expect(controller.foo).tohavebeencall();
});
它('不应调用bar route',函数(){
//如何测试是否未调用bar?
});

使用
而不是
操作员:

expect(controller.bar).not.toHaveBeenCalled();