如何测试jQuery $ .AJAX POST到服务器的JavaScript函数包装器?

时间:2017-11-07 23:05:20

标签: javascript jquery ajax mocha sinon

我有一个JS函数,我将调用myPost,它基本上只包含一个$ .ajax函数,它传递一个包含params和方法的对象。我已经广泛搜索了使用Chai和Sinon为这种情况编写Mocha测试的例子,但到目前为止还没有找到。我是编写单元测试的新手,并希望得到一些帮助。

我的测试功能:

const post_login = (username, pword) => {

  $.ajax({
    type: 'POST',
    url: './path/to/Security.cfc',
    dataType: 'JSON',
    data: {
        'method':'postLogin',
        'uname': (username),
        'pword': (pword)
    },
    success: function(response, status, jqXHR) {
      if(response.ERROR.length) {
        $("#submitResponse").html("There was a problem... " + response.ERROR).show();
      }
      else {
        // now clear out the input fields
        $("#inputUserName").val('');
        $("#inputPassword").val('');

        // set data attr for logged in ok and change page content displayed
        $('#login').attr('data-logged', '1');
        $("#login").hide();
        $("#loggedin").show();
      }
    }
  });
};

你能否分享一个例子或解释,帮助我弄清楚如何使用Sinon来测试这个功能。或者功能是否实现不正确?

用户名和密码将传递到ajax呼叫发布数据。我发现用于测试ajax帖子的间谍和模拟示例通常没有,他们使用回调。我的回调是内部的...成功方法。

0 个答案:

没有答案