我是JavaScript測試新手。 我正在使用茉莉花,並需要測試是否正確的參數已傳遞給方法。jasmine jquery測試以檢查是否已將正確參數傳遞給方法
這是我的方法:
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'));
我得到以下錯誤(因爲我指定了正確的PARAM應由試驗確定,這似乎是錯誤的):
undefined() method does not exist
有人可以顯示我的一個很好的方式來寫上述測試?
這可能會導致一個問題:myWinodw('list'); – m3h2014