我对 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});
问题是我得到:
预期 Object({id: ['666'] }) 等于 Object({ id: 666 })
谁能回答为什么会这样?当我在调用之前在控制台中以及在方法中(但在调用 $.ajax 之前)记录传递的对象时,一切看起来都很好 - 不存在数组。唯一的问题是从返回的值
request.data()
方法调用。有什么建议么?为什么我的 666 值包含在数组中?