Javascript 茉莉花测试元素是否消失
我正在为以下两个函数编写一些Jasmine测试:Javascript 茉莉花测试元素是否消失,javascript,jasmine,Javascript,Jasmine,我正在为以下两个函数编写一些Jasmine测试: var showSpinner = function () { $('#spinner').remove(); $('<div id="spinner"><i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i></div>') .appendTo('body') .hide() .fadeIn
var showSpinner = function () {
$('#spinner').remove();
$('<div id="spinner"><i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i></div>')
.appendTo('body')
.hide()
.fadeIn();
};
var hideSpinner = function () {
$('#spinner').fadeOut(function () {
$(this).remove();
});
};
第一个测试运行良好。但是,由于隐藏内部的淡出,第二次测试失败
我试图修改它以使用超时
it('hide spinner', function () {
hideSpinner();
setTimeout(function () {
expect($('#spinner').length).toEqual(0);
}, 100);
});
但这会导致考试通过,但同时警告大家不要抱有任何期望
如何测试此功能?您应该阅读以下内容:
400毫秒是的默认超时
it('hide spinner', function () {
hideSpinner();
setTimeout(function () {
expect($('#spinner').length).toEqual(0);
}, 100);
});
it('hide spinner', function(done) {
hideSpinner();
setTimeout(function() {
expect($('#spinner').length).toEqual(0);
done();
}, 400);
});