2012-07-10 41 views
2

我想用qunit使用mockjax,但無法使其工作。 下面是一個簡單的測試,我想:http://jsfiddle.net/shapeshifta/3YNB2/使用mockjax在qunit中嘲笑jsonp請求的問題

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代碼魅力,但並沒有真正與它...我做soemthing錯了工作?試圖使用sinon.js,但它有異步測試的一些問題,所以我想切換到mockjax。但我的代碼只是不停地問Twitter的數據,雖然mockjax應該嘲笑我的請求...

任何想法?

回答

1

我得到這個工作:

 
asyncTest('Response returns jsonp', function() { 

    $.mockjax({ 
     url: 'http://search.twitter.com/search.json*', 
     contentType: 'text/json', 
     proxy: 'mocks/twitter.json' 
    }); 

    function onSucceed(data) { 
     start(); 
     ok(true, 'JSONP completed'); 
    }; 

    $.ajax({ 
     url: 'http://search.twitter.com/search.json?q=Javascript&callback=?', 
     dataType: 'jsonp', 
     success: onSucceed, 
     error: function() { alert('error'); }, 
     complete: function() { $.mockjaxClear(); } 
    }); 
});​ 
+0

謝謝,但我切換回興農,現在工程:) – shapeshifta 2012-08-10 16:03:20

+0

我很高興你得到的東西的工作:) – Evildonald 2012-08-10 17:56:51

+0

將是'嘲笑/嘰嘰喳喳什麼。 json'?如何使用代理與使用responseText不同? – Civilian 2013-03-27 22:21:26