在使用Jasmine进行测试时,jQuery AJAX调用返回包含在数组中的数据

时间:2015-08-07 12:11:31

标签: javascript jquery ajax jasmine jasmine-ajax

我对Jasmine测试很陌生,所以也许我做错了。问题是我使用jQuery进行简单的AJAX调用。方法很简单:

function sendSomeDataViaAJAX( link, data ) {
    $.ajax(link, { dataType: 'json', method: 'post', data: data }).
    // all other listeners
}

从我在Jasmine中的代码中我调用这个方法(使用AJAX模拟)

var dataToBeSent = { id : 666 };
sendSomeDataViaAJAX(dataToBeSent, '/fake/addr');

var request = jasmine.Ajax.requests.mostRecent();

expect(request.data()).toEqual({ id : 666});

问题是我得到了:

  

预期对象({id:['666']})等于Object({id:666})

有人能回答为什么会这样吗?当我在调用之前在控制台中记录传递对象以及在方法中(但在调用$ .ajax之前)一切都看起来没问题 - 没有数组存在。唯一的问题是从

返回的值
request.data()

方法调用。有什么建议?为什么我将666值包含在数组中?

0 个答案:

没有答案