Ruby on rails 3 测试application.js中定义并在jQuery(function($){}中使用jasmine调用的函数

Ruby on rails 3 测试application.js中定义并在jQuery(function($){}中使用jasmine调用的函数,ruby-on-rails-3,jasmine,jasmine-jquery,Ruby On Rails 3,Jasmine,Jasmine Jquery,我有Ruby on Rails应用程序,在我的application.js文件中有: jQuery(function($) { submitFormForBlacklistsCsvExport(); } function submitFormForBlacklistsCsvExport(){ jQuery('#blacklists_csv_export').bind('click', function(){ exportBlacklists('/whitelists')

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

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

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

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

这是一个非常常见的场景。在函数上进行间谍操作,触发事件处理程序,然后检查是否调用了spy

describe("Blacklist exporting", function () {
    it("exports on click", function () {
        spyOn(window, "exportBlacklists");
        $("#blacklists_csv_export").triggerHandler("click");
        expect(window.exportBlacklists).toHaveBeenCalled();
    });
});