Я не могу охватить выполняемый обработчик при написании тестовых случаев с использованием Jasmine Karma.

Я новичок в написании тестов с использованием Jasmine и Karma.

Это часть кода, которую я пытаюсь охватить.

oncreate: () => addWindowResizeListener(() => this._resizeHandler())

Ниже приведена строка, относящаяся к приведенному выше в моем файле спецификаций.

expect(contentPanelFooterBodyVDOM.getAttr("oncreate")).toEqual(Function)

Покрытие кода показано ниже

Как добиться полного покрытия кода?


person gaurav v    schedule 15.04.2021    source источник


Ответы (1)


Я не вижу вашего покрытия кода, но вы должны фактически вызвать свою функцию, чтобы получить покрытие кода.

// spy on the function to be called.
spyOn(something, '_resizeHandler');
// call the function
something.oncreate();
// expect for it to be called
expect(something._resizeHandler).toHaveBeenCalled();
person AliF50    schedule 15.04.2021
comment
Привет, спасибо за ваш ответ. Я не могу прикрепить изображение покрытия кода, так как у меня недостаточно баллов. Однако я могу покрыть до тех пор, пока addWindowResizeListener. Я не могу описать внутреннюю функцию this._resizeHandler(). Надеюсь, это даст больше информации. Я попробовал вышеуказанное решение, но проблема остается. Пожалуйста помоги. - person gaurav v; 16.04.2021
comment
Я предполагаю, что addWindowResizeListener вызывается при изменении размера окна. Возможно, после something.oncreate() изменить размер окна. - person AliF50; 16.04.2021