Ruby on rails 3 测试application.js中定义并在jQuery(function($){}中使用jasmine调用的函数
我有Ruby on Rails应用程序,在我的application.js文件中有: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')
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();
});
});