我对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值包含在数组中?