javascript - 在 addEventHandler 中测试代码

标签 javascript unit-testing angular jasmine

我有以下内容 -

window.addEventListener( "orientationchange", () => {
    // Code to test
});

如何在 Jasmine 中触发此事件?我尝试了以下方法,但没有成功 -

event = document.createEvent("HTMLEvents");
event.initEvent("orientationchange", true, true);

这是类(class) -

export class AvailabilityComponent {

    changed: boolean = false;

    constructor(  ) {
        window.addEventListener( "orientationchange", () => {
            this.changed = !this.changed;
        } );
    }

}

谢谢

最佳答案

您可以直接使用window.dispatchEvent(new Event("orientationchange"))代替

event = document.createEvent("HTMLEvents");
event.initEvent("orientationchange", true, true);

关于javascript - 在 addEventHandler 中测试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43347346/

相关文章:

java - 使用 Java8 lambda 在模拟类上进行参数匹配

java - 斯波克框架 : problems with spying

angular - 如何在 Angular 中获取 DOM 元素的样式?

javascript - 创建动态类名,然后使用 Reactjs 递增值

javascript - 是否可以仅使用 jqGrid 对来自服务器的数据进行编码?

javascript - "Access is denied"通过在 Windows XP x64 上使用 JScript 执行 .hta 文件

javascript - 如何添加过渡我的 slider ?

unit-testing - Mockito - thenCallRealMethod() 在 void 函数上

angular - 如何让 ng 构建观看多个应用程序?

angular - 如何以 Angular 方式在 svg 中导入字体很棒的图标?