我想测试一个javascript click事件处理程序,其中我有一个从服务器获取数据的ajax(异步)GET调用。 我在done()函数中拥有所有业务逻辑。当我在运行jasmine测试用例时保持调试指针时,我发现它根本没有达到done()逻辑。 如何在Jasmine中处理这个问题?
$('#setup').click(function () {
$("div#spinner").addClass('spinner show');
$.ajax({
type: "GET",
url: "http://localhost:3000/setup.cgi",
}).done(function () {
$("div#divLoadingSpinner").removeClass('spinner show');
$('#setup').attr('disabled', 'disabled');
});
});
it("should disable clicking of Edit setup", function () {
setup = $("#setup");
setup.click();
console.log(">>" + setup[0].attributes.length);
expect(setup.attr('disabled')).toBeTruthy();
});
答案 0 :(得分:1)
您可以使用延迟对象并解决它们以达到您的成功(完成)方案。请参阅下面的示例。不必确切,您可以根据您的要求进行修改。
select *
from user
where id in (
select userid
from user_membership
where groupid = 45
)