0

我有 Ruby on Rails 应用程序,在我的 application.js 文件中有:

jQuery(function($) {
    submitFormForBlacklistsCsvExport();
}

function submitFormForBlacklistsCsvExport(){
  jQuery('#blacklists_csv_export').bind('click', function(){
   exportBlacklists('/whitelists')
  })
}

我正在使用 jasmine 测试应用程序中的 javascript,但我找不到如何使用 spy 来检查仅在单击“#blacklists_csv_export”时才调用 exportBlacklist。

4

1 回答 1

1

这是一个非常常见的场景。监视函数,触发事件处理程序,然后检查是否调用了间谍。

describe("Blacklist exporting", function () {
    it("exports on click", function () {
        spyOn(window, "exportBlacklists");
        $("#blacklists_csv_export").triggerHandler("click");
        expect(window.exportBlacklists).toHaveBeenCalled();
    });
});
于 2014-03-14T19:19:37.040 回答