.click()事件不会在Jasmine测试中触发函数

时间:2014-05-29 01:23:31

标签: javascript jquery jasmine

我试图在jasmine 1.3和jQuery 1.7.2中测试按钮,当我定义.click()函数时,它不会触发事件。 这是我的代码:

describe("after collection loads files", function(){

  beforeEach(function(){
    this.filesColl._processFetchBatchResult(
      constructFetchBatchResult(this.filesAttrs, {IsTruncated:false, Marker:''} ));
      clickFileCheckbox(this.filesTable, 'mySubdir', true); // I click a checkbox in a row
      this.filesTable.$('.tableview-bulk-container button').eq(0).click(); // validates is the subdir is empty and disable bulk actions
  });

  it("validates if the bulk actions are disabled", function(){
    expect(this.filesTable.$(".tableview-bulk-container ul li")            
           .hasClass("disabled")).toBeTruthy(); 

  });

但是当我点击按钮时,它没有添加课程"禁用"我的按钮,在真正的DOM中完美运行。

我也尝试过.trigger('点击');

感谢。

1 个答案:

答案 0 :(得分:0)

我不熟悉Jasmine,但你的点击处理程序是空的,如果你已经在绑定处理程序的按钮上设置了一个动作,那就没问题了。所以你可以试试像:

this.filesTable.$('.tableview-bulk-container button').eq(0).click(function(){
    //this is where you do stuff, like calling another function
});

希望这会有所帮助。