我正在尝试使用Jasmine测试JavaScript中的一个函数,但是我遇到了一个问题。我没有找到任何有关如何测试$.post或$.get函数的信息,而且因为我正在使用异步的done ($.deferred),所以不知道如何处理它。以下是代码:
function registrarUsuario(cel, eMail, nombre){
$.post(url, {
phone_number : cel,
email : eMail,
name : nombre
}).done(exitoso(data))}
问题是:我如何使用jasmine测试$.post或$.get函数,并使用jqXHR的done函数。
函数exitoso(data)如下所示:
function exitoso(data){
navigator.notification.alert('User register',
alertDismmissed(nombre, eMail, cel),
'Sucess');}
我遇到了一个关于数据ErrorReference的错误,但是我不得不按照以下方式更改代码$.post(...).done
.done(function(data){
exitoso(data);
}
也可以写成以下形式:
.done(exitoso);
感谢Andreas Köberle的回答。
exitoso
,以检查它是否被调用。也许你可以发布更多的代码,这样就不难猜测exitoso
是什么,以及如何在你的示例中监听它。 - Andreas Köberledone(exitoso(data))
,我认为你真正想要做的是在 ajax 调用成功后执行函数exitoso
:done(exitoso)
。 - Andreas Köberle