我是 javascript 测试的新手。我正在使用 jasmine,需要测试是否已将正确的参数传递给方法。
这是我的方法:
function myView(){
if($('.view').is('.list')){
myWindow('list');
}else{
myWindow('random');
}
$('.view').toggleClass('my-list');
}
function myWindow(list) {
var url = /test.json;
$.post(url, {"list": list});
}
Here are my tests:
describe('#myView', function() {
beforeEach(function() {
fixture.load('myview.html');
});
it('sets window to list', function(){
expect(window.myWindow).toHaveBeenCalledWith('list');
});
});
我收到以下错误。
Error: Expected a spy, but got Function.
如果我在期望之前添加这一行(这似乎是错误的,因为我指定了应该由测试识别的正确参数)
spyOn(window, myWindow('list'));
我收到以下错误:
undefined() method does not exist
有人可以告诉我编写上述测试的好方法吗?