运行jasmine测试用例

时间:2016-08-30 05:16:29

标签: javascript jquery jasmine karma-runner

我想测试一个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(); 
});

1 个答案:

答案 0 :(得分:1)

您可以使用延迟对象并解决它们以达到您的成功(完成)方案。请参阅下面的示例。不必确切,您可以根据您的要求进行修改。

select *
from user
where id in (
  select userid
  from user_membership
  where groupid = 45
  )