Javascript 如何使用SpyOnEvent通过jquery jasmine监视事件
我正在使用扩展来监视事件,但无法获得正确的语法Javascript 如何使用SpyOnEvent通过jquery jasmine监视事件,javascript,jquery,unit-testing,jasmine,jasmine-jquery,Javascript,Jquery,Unit Testing,Jasmine,Jasmine Jquery,我正在使用扩展来监视事件,但无法获得正确的语法 // Get a button var $button = $( '#ai1ec_subscribe_users' ); // Call the function utility_functions.block_all_submit_and_ajax( $button.get(0) ); // check that all submit are disabled var first_multi = $( '.ai1ec-facebook-refre
// Get a button
var $button = $( '#ai1ec_subscribe_users' );
// Call the function
utility_functions.block_all_submit_and_ajax( $button.get(0) );
// check that all submit are disabled
var first_multi = $( '.ai1ec-facebook-refresh-multiselect:first' );
spyOnEvent( '.ai1ec-facebook-refresh-multiselect:first', 'click' );
first_multi.click();
expect( 'click' ).toHaveBeenTriggeredOn( '.ai1ec-facebook-refresh-multiselect:first' );
这给了我回报
预期已在上触发事件单击
.ai1ec facebook刷新多选:第一个
但是我在检查前一行单击了它,所以我一定是做错了什么。问题是我没有以正确的方式触发事件 这起到了作用:
it( "Prevent all ajax functionality", function() {
// Get a button
var $button = $( '#ai1ec_subscribe_users' );
// Call the function
utility_functions.block_all_submit_and_ajax( $button.get(0) );
// check that all submit are disabled
spyOnEvent( $( '.ai1ec-facebook-refresh-multiselect:first' ), 'click' );
$( '.ai1ec-facebook-refresh-multiselect:first' )[0].click();
expect( 'click' ).toHaveBeenTriggeredOn( $( '.ai1ec-facebook-refresh-multiselect:first' ) );
} );