javascript - 模拟 Electron session 以进行 Mocha/Chai 测试

标签 javascript node.js webpack mocha.js electron

我用 chentsulin 的 electron/react boilerplate 构建了一个单页应用程序,它带有以下用于测试的 Node 脚本:

"test": "cross-env NODE_ENV=test BABEL_DISABLE_CACHE=1 mocha --compilers js:babel-register --recursive --require ./test/setup.js test/**/*.spec .js”

样板文件附带了许多通用测试,这些测试一开始就可以运行(我自己证实了这一点)。它还附带了许多 webpack 配置以适应不同的环境。

该应用程序现在已经相当成熟了,并且正在使用 electron-json-storage处理本地存储。我刚刚回去编写测试,当我运行 test Node 脚本(有或没有 --renderer)时,我得到以下信息:

[dirpath]/node_modules/electron-json-storage/lib/utils.js:30
const app = electron.app || electron.remote.app;
                                       ^

TypeError: Cannot read property 'app' of undefined

我试过使用 webpack.IgnorePlugin 来忽略 electron-json-storage,但这没有任何作用。我的猜测是 electron-json-storage 试图引用一个不存在的实例化 Electron session 。什么是最简单的虚拟化方法?

最佳答案

问题是我使用的是 mocha(它是 Electron-React 样板的一部分)。安装 electron-mocha 并更改 package.json 中的 test 脚本立即解决了这个问题。

关于javascript - 模拟 Electron session 以进行 Mocha/Chai 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40582057/

相关文章:

javascript - cordova/phonegap 阻止并允许后退按钮

javascript - 删除深层对象层次结构中的一些属性级别

javascript - 我本地网页上的 moviemodeapp 脚本

javascript - 在 Node.js 中处理回滚的 MySQL 事务

node.js - CDH 5 中的 Hbase Thrift

typescript - TypeScript 编译器选项的模块加载顺序不正确 "module": "es2015"

javascript - 如何从 C# 更新 javascript 变量数组

javascript - 无法调试 Node 子进程(使用 Node native 调试器)

javascript - 如何从 Webpack :? 的输出中排除某些 .CSS 文件

javascript - 使用 Webpack 或 Babel 通过前端的 import 语句使用 node_modules