Jasmine.js v2.0.0 - TypeError: Cannot read the "stopPropagation" property from undefined

I am new to Jasmine2 JS framework. I use the Jasmine.js framework to create test suites for my application developed as part of Backbone.js.

When I create test cases for the backbone.js → views home.js file, one of my view.sys functions has

event.stopPropagation();

and another function has

event.preventDefault();

If my function Backbone.js -> views has event.stopPropagation (); and event.preventDefault (); my test packages cause an error as shown below:

TypeError: unable to read property "stopPropagation" from undefined

Please help me how to write test cases for my views function, which has event.stopPropagation(); and event.preventDefault();

or

, event.stopPropagation(); event.preventDefault(); Jasmine.js?

, , - .

.

+4
2

, , :

            var event = {
                type: 'click',
                stopPropagation: function () {},
                preventDefault: function () {}
            };          
            var stopPropagationSpy  = spyOn(event, 'stopPropagation');
            var preventDefaultSpy   = spyOn(event, 'preventDefault');           
            {OBJ}.{FUNCTION_TO_CALL}(event);
            $("{YOUR_ELEMENT_TO_TRIGGER}").trigger(event);
            expect(stopPropagationSpy).toHaveBeenCalledWith();
            expect(preventDefaultSpy).toHaveBeenCalledWith();
+3

, undefined, stopPropogation().

submitClicked(e: any) {
    e.preventDefault(); <-- e would be undefined.
}
0

Source: https://habr.com/ru/post/1541069/


All Articles