2

我想将 mockjax 与 qunit 一起使用,但无法正常工作。这是我尝试过的一个简单测试:http: //jsfiddle.net/shapeshifta/3YNB2/

asyncTest('Response returns jsonp', function() {
    $.mockjax({
        url: 'http://search.twitter.com/search.json*',
        contentType: 'text/json',
        proxy: 'mocks/twitter.json'
    });
    window.abcdef123456 = function() {
        start();
        ok(true, 'JSONP Callback executed');
    };

    $.ajax({
        url: 'http://search.twitter.com/search.json?q=Javascript&callback=?',
        jsonpCallback: 'abcdef123456',
        dataType: 'jsonp',
        error: function() {},
        complete: function() {}
    });
    $.mockjaxClear();
});

像没有 mockjax 代码的魅力一样工作,但并不能真正使用它......我做错了什么吗?尝试使用 sinon.js,但异步测试存在一些问题,所以我想切换到 mockjax。但是我的代码一直在向 twitter 询问数据,尽管 mockjax 应该模拟我的请求......

有任何想法吗?

4

1 回答 1

1

我得到了这个工作:

asyncTest('响应返回 jsonp', function() {

    $.mockjax({
        url: 'http://search.twitter.com/search.json*',
        内容类型:'文本/json',
        代理:“模拟/twitter.json”
    });

    功能成功(数据){
        开始();
        ok(true, 'JSONP 完成');
    };

    $.ajax({
        url: 'http://search.twitter.com/search.json?q=Javascript&callback=?',
        数据类型:'jsonp',
        成功:onSucceed,
        错误:函数(){警报('错误');},
        完成:函数(){ $.mockjaxClear();}
    });
});​
于 2012-08-02T23:13:53.843 回答