javascript-如何用茉莉花测试邮寄电话?

我正在尝试在JavaScript上用茉莉花测试功能,但是我有一个问题,我还没有找到任何信息来测试$.post或$.get函数,因为我使用的是完成的($.延迟)(异步)不知道如何处理.代码如下

function registrarUsuario(cel, eMail, nombre){
$.post(url, {
       phone_number : cel,
       email : eMail,
       name : nombre
       }).done(exitoso(data))} 

问题是,如何使用茉莉花测试$.post或$.get函数,并使用jqXHR的done函数.

函数exitoso(data)如下:

function exitoso(data){
navigator.notification.alert('User register',
                             alertDismmissed(nombre, eMail, cel),
                             'Sucess');}

我的数据错误引用存在错误的原因,但是我不得不按如下方式更改代码$.post(…).done

.done(function(data){
 exitoso(data);
}

或者也可以从事以下工作:
    .done(
      出口
     );

感谢AndreasKöberle的回答.

解决方法:

因此,您可以监视$.post并返回递归的已解决问题:

var dfr = new $.Deferred();
dfr.resolve({data: "data"})
jasmine.spyOn($, 'post').andReturn(dfr)
registrarUsuario()

另一个解决方案是使用sinonJs的fakeServer

this.server = sinon.fakeServer.create();
this.server.respondWith('{data: "data"}');
server.autoRespond = true;
registrarUsuario()
上一篇:javascript-使用茉莉花模拟到服务器的调用


下一篇:javascript-如果所有方法都是私有的,如何测试jQuery插件?