2

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

4

0 回答 0