是否可以在浏览器测试中模拟提取外部CSS样式表?

时间:2018-10-16 22:50:23

标签: javascript testing mocking karma-jasmine

我具有将<link>元素追加到文档并返回Promise的功能,当样式表完成加载link.onload时,Promise将解决:

async function appendStyle(key: string, url: string): Promise<HTMLLinkElement> {
    return new Promise<HTMLLinkElement>((resolve): void => {
        const link: HTMLLinkElement = document.createElement("link");
        const headElement: HTMLHeadElement = document.getElementsByTagName("head")[0];

        link.onload = function (this: HTMLLinkElement): void {
            resolve(this);
        };
        link.dataset[keyDataAttribute] = key;
        link.setAttribute("rel", "stylesheet");
        link.setAttribute("type", "text/css");
        link.setAttribute("href", url);
        headElement.appendChild(link);
    });
}

是否可以在浏览测试中模拟获取外部样式表(我使用的是Karma + Jasmine)?

fetch-mock仅模拟全局window.fetch,但浏览器不使用它们来获取资源。样式表,脚本或图像。

0 个答案:

没有答案