새로운 소식입니다. 나는 QUnit과 AJAX에 관한 오래된 글을 읽었지만 아직도 단서를 얻을 수 없었다.QUnit 테스트 AJAX 콜백 결과
myObj.prototype.getName = function() {
$.get('/url/to/server/', {id: this.id})
.done(function(data) {
var name = JSON.parse(data);
var html = '<p>' + id.toString() + ': ' + name + '</p>';
$('.content').append(html);
});
};
나는이 전체 기능의 성공 여부를 테스트 할 : 나는 결과에 따라 웹 페이지를 Ajax 호출을 수행하고 조작하는 기능을 가지고있다. QUnit 2.X의 cookbook에 따라, 내가 한 :.
QUnit.test('myObj.getName', function(assert) {
var done = assert.async();
var obj = new myObj(1); // 1 is the ID
obj.getName();
setTimeout(function() {
assert.equal($('.content').html(), '<p>1: name-of-1</p>');
done();
});
});
자체가 작동하고 웹 페이지에 이름을 인쇄하지만, 함수 QUnit 시험에서, $ ('. 내용을') HTML을() 없음입니다. 콜백 함수가 완료되기 전에 테스트가 실행되는 것 같습니다.
이것에 대한 아이디어가 있습니까? 고맙습니다!