如何检查是否已在给定的jQuery选择器上调用方法?

时间:2013-10-09 06:14:57

标签: javascript jquery jasmine

我正在使用茉莉花进行测试。

基本上我想确保为给定的jQuery选择器执行特定的方法。

e.g。

$('.hidden-tag').show()

目前我有以下内容:

describe("Test", function () {
  beforeEach(function () {
    spyOn(window, '$').andCallThrough();

    loadFixtures('my_fixture.html');
  });

  it("should call show method on the jQuery selector '.hidden-tag'", function () {
    expect($).toHaveBeenCalledWith('.hidden-tag');
  });

});

第一部分有效。如何检查是否正在调用'show'方法?

2 个答案:

答案 0 :(得分:0)

使用 :visible 选择器,

alert($('.hidden-tag').is(":visible"));

$('.hidden-tag').is(":visible")中使用if condition

if($('.hidden-tag').is(":visible"))
{
    expect($).toHaveBeenCalledWith('.hidden-tag');
}

答案 1 :(得分:-1)

尝试在Firefox中安装Fire Bug。在那个打开的控制台中,如果在调用'show'方法时出现任何错误,您将获得。

此外,您可以在方法之前和之后插入警报(消息)。如果没有调用先前的alert(),则问题出现在'show'之前,如果没有调用alert(),那么'show'会有一些bug。