我遇到了很大的麻烦,无法让一个简单的例子工作。我正在使用从https://gist.github.com/Madhuka/7854709获取的这个例子。
describe("Test for spies", function() {
function sendRequest(callbacks, configuration) {
$.ajax({
url: configuration.url,
dataType: "json",
success: function(data) {
callbacks.checkForInformation(data);
},
error: function(data) {
callbacks.displayErrorMessage();
},
timeout: configuration.remainingCallTime
});
}
it("should make an Ajax request to the correct URL", function() {
var configuration = {
url : "http://www.google.com",
remainingCallTime : 30000
};
spyOn($, "ajax");
sendRequest(undefined, configuration);
expect($.ajax.mostRecentCall.args[0]["url"]).toEqual(configuration.url);
});
});
无论出于什么原因,$.ajax.mostRecentCall
未定义。使用 jasmine 2.0.2 和 jasmine jquery 2.0.5。
这里是 jsfiddle 链接:http://jsfiddle.net/sidouglas/85b35993/。