使用Jasmine测试chrome.extension.getURL()和其他chrome功能

时间:2018-11-29 22:26:05

标签: javascript google-chrome-extension jasmine

我已按照本教程使用茉莉测试香草javascript: https://dev.to/aurelkurtula/unit-testing-with-vanilla-javascript-the-very-basics-7jm

但是我想在其中进行测试的功能将'src'分配给'img'元素。

setImage(){
     const img = document.createElement('img');
     img.src = chrome.extension.getURL('images/icon.png');

     return img;
}

然后,我做了茉莉花的测试:

it('should check image creation', () => {
     const img = document.createElement('img');
     img.src = '../images/icon.png';

     expect(setImage()).toEqual(img)
})

运行测试后出现此错误:

TypeError: Cannot read property 'getURL' of undefined

指的是chrome.extension。

有人知道我可以对此进行测试吗?

1 个答案:

答案 0 :(得分:0)

这意味着运行测试的上下文不在extension上下文之内。

我进行单元测试的方法是通过在扩展中创建一个tests.html网页,并出于开发目的,公开一个上下文菜单Run Tests,该菜单将启动:

extension://1234123412341234/tests.html

一如既往,请确保您的扩展程序以抽象上下文脚本/背景页面/弹出窗口的方式进行构建。