我正在研究用于JavaScript单元测试的QUnit。我处于一种奇怪的情况下,正在检查从Ajax调用返回的值。

对于以下测试,我故意尝试使它失败。

// test to check if the persons are returned!
test("getPersons", function() {
  getPersons(function(response) {
    // persons = $.evalJSON(response.d);
    equals("boo", "Foo", "The name is valid");
  });
});

但是它最终一直都过去了。这是进行Ajax调用的getPersons方法。
function getPersons(callback) {
  var persons = null;

  $.ajax({
    type: "POST",
    dataType: "json",
    data: {},
    contentType: "application/json",
    url: "AjaxService.asmx/GetPersons",
    success: function(response) {
      callback(response);
    }
  });
}

最佳答案

开始和停止使用QUnit库似乎可以正常工作!

// test to check if the persons are returned!
test("getPersons", function() {
  stop();
  getPersons(function(response) {
    persons = $.evalJSON(response.d);
    equals(persons[0].FirstName, "Mohammad");
    start();
  });
});

10-04 15:27