【发布时间】:2016-10-24 16:17:58
【问题描述】:
我是新来的。我已经阅读了有关 QUnit 和 AJAX 的旧帖子,但仍然无法获得任何线索。我有一个函数可以执行 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);
});
};
我想测试一下这整个功能是否成功。在 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 测试中,$('.content').html() 为 None。似乎测试在回调函数完成之前启动。
对此有什么想法吗?谢谢!
【问题讨论】:
标签: javascript ajax qunit