编程语言
首页 > 编程语言> > javascript-使用茉莉花模拟到服务器的调用

javascript-使用茉莉花模拟到服务器的调用

作者:互联网

我想使用茉莉花来模拟对服务器的Ajax调用,并测试完成和失败的Deferred Object.

目前,我实际上是在做它们,因此尝试向服务器发送一堆呼叫.

我应该如何修复以下代码

mySpy = spyOn(backendController, 'submitForm').andCallThrough(); 
// it makes a real call to the server

mySpy = spyOn(backendController, 'submitForm'); 
// it does not make a real call to the server but I get the following error
// Cannot call method 'done' of undefined

这是关于doSubmitForm的代码

doSubmitForm: function (backendController) {
  backendController.submitForm(message.val())
        .done(this.onSuccess)
        .fail(this.onError);
});

解决方法:

在失败的情况下,我认为问题是由于调用未返回jQuery延迟对象引起的.

为了验证该理论,您可以尝试执行以下操作:

var tmpDefObj = $.Deferred();

spyOn(backendController, 'submitForm').andCallFake(function() {return tmpDefObj;});

标签:ajax,jasmine,javascript,jquery
来源: https://codeday.me/bug/20191127/2075820.html