Tôi đang xem xét QUnit để kiểm tra đơn vị JavaScript. Tôi đang ở trong một tình huống kỳ lạ mà tôi đang kiểm tra so với giá trị được trả về từ cuộc gọi Ajax.QUnit với Ajax, QUnit vượt qua các bài kiểm tra không thành công
Đối với bài kiểm tra sau đây, tôi cố ý cố gắng để thất bại.
// 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");
});
});
Nhưng nó kết thúc luôn luôn đi qua. Đây là phương thức getPersons thực hiện cuộc gọi Ajax.
function getPersons(callback) {
var persons = null;
$.ajax({
type: "POST",
dataType: "json",
data: {},
contentType: "application/json",
url: "AjaxService.asmx/GetPersons",
success: function(response) {
callback(response);
}
});
}
Tôi khuyên bạn cũng nên điền số "mong đợi" (đối số thứ hai vào 'QUnit.test') để dễ nắm bắt hơn khi không phải mọi thứ được gọi đúng lúc. Nếu không, nó có thể chuyển nếu 'bắt đầu' được gọi quá sớm trước khi tất cả các xác nhận đã được gửi. – Krinkle