繁体   English   中英

如何对Firefox 57 WebExtensions进行单元测试?

[英]How to unittest Firefox 57 WebExtensions?

较旧的Firefox“附加组件”API具有允许测试的内置单元sdk/testsdk/test 这似乎不再可用。

此外,使用“package / require”允许将代码分成“js code-only”包,这些包可以使用node.js进行测试。 新的,高度结构化的JavaScript不会分享这个。

我的优先事项是(从最高到最低):

  1. 算法,“业务逻辑”,例如解析输入数据 - 无需API - 只需JavaScript
  2. 内部逻辑 - 例如与设置交互的后台脚本等
  3. 用户界面互动 - 没有这个我可以生活,但测试会很好

那么人们如何测试他们的WebExtensions?

查看webextension-geckodriver ,了解功能测试的实例。

如果您想测试与webextension API的交互,您可以直接进行(例如,为扩展设置测试页面并让geckodriver访问它),或者通过webextension-jsdom使用类似sinon- webextension的假设

要单元测试算法,只需使用jest,mocha或您喜欢的任何节点单元测试框架导入函数,或将它们添加到您可以在浏览器中访问的测试页面。

这里有一个完整但旧的有效的webext测试示例example-webextension

使用另一个假的真实webextension中的测试示例: vim-vixen

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM