我想在qunit中使用mockjax,但无法使其工作。 这是我尝试的一个简单测试: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应该模仿我的请求......
有什么想法吗?
答案 0 :(得分: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(); } }); });