我目前正在尝试重构现有的gnome-shell扩展程序的代码库。其中一部分是引入单元测试,因为在2016年不使用测试似乎相当疏忽。
经过一些修修补补后,我设法设置了一个工作节点-phantomjs-qunit管道,实际上让我到了某个地方。
但是,shell扩展使用自定义imports
- 机制以及
对类构建的一些修改(例如:String.format
通过GJS)使得无法在隔离环境中实际测试这些文件,即:在 shell中。
所以我的问题是:是否真的无法为shell扩展编写单元测试?
答案 0 :(得分:0)
我已经完成了使用gnome shell扩展的单元测试的一些工作,看一下这个扩展的完整示例:
https://github.com/emerinohdz/power-alt-tab
我使用了带有babel(可选)和GJS的webpack。它甚至使用Travis CI构建。
我为我需要的GS部件添加了一个哑的polyfill,并提供了一个替代处理模块,使用ES6导入而不是默认的GS导入机制。现在没有可能进行集成测试,只有单元测试,但至少你可以控制代码库的大多数。