无法获得$ .ajax.mostRecentCall茉莉花2.0.2工作 [英] Can't get $.ajax.mostRecentCall to work with jasmine 2.0.2

查看:159
本文介绍了无法获得$ .ajax.mostRecentCall茉莉花2.0.2工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有真正的麻烦一个简单的例子来工作。我用这个例子从 https://gist.github.com/Madhuka/7854709

Having real trouble getting a simple example to work. I am using this example taken from 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 是不确定的。

使用2.0.2茉莉花和茉莉花的jQuery 2.0.5。

Using jasmine 2.0.2 and jasmine jquery 2.0.5.

小提琴在这里: http://jsfiddle.net/sidouglas/85b35993/

推荐答案

这老1.x的茉莉花语法:

This the old 1.x Jasmine syntax:

$.ajax.mostRecentCall.args

的语法茉莉花2:

The syntax for Jasmine 2 is:

$.ajax.calls.mostRecent().args

所以,你的说法应该是:

So your assertion should be:

expect($.ajax.calls.mostRecent().args[0]["url"]).toEqual(configuration.url);

这篇关于无法获得$ .ajax.mostRecentCall茉莉花2.0.2工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆