如何从单元测试中访问“远程”模块

时间:2015-12-27 21:49:46

标签: electron

如何从单元测试中访问“远程”模块或其他主要过程模块?在测试依赖于“远程”的组件时,我得到Error: Cannot find module 'remote'。我也考虑过嘲笑但不确定如何处理,任何指导都会非常感激。

2 个答案:

答案 0 :(得分:2)

所以我在搜索中找不到完美的答案,但我最后只使用mockery来模拟remote模块。我也调查electron-mocha但是永远不会让它工作,虽然自述文件让我相信它解决了我遇到的问题。如果有人有经验单元测试使用React的Electron应用程序,请发布更好的解决方案!

答案 1 :(得分:1)

从单元测试中访问remote模块只需要在正确的上下文中运行测试。具体而言,这将是Renderer进程。您可以通过在BrowserWindow中运行测试来完成此操作。

您可能需要更加集成的工作流程。对于这个电子摩卡已经为我工作。使用它我将我的测试分成四个单独的任务,涵盖我认为相关的不同背景:

  • 主要流程代码的单元测试
  • 渲染过程代码的单元测试
  • 反应成分的单元测试(巴贝尔编译)
  • 使用Spectron的功能测试

它们必须独立运行,并且电子的启动时间比使用节点时的使用速度慢。

找到问题的模拟方面的答案就是为什么我在这里,但我希望它与模拟任何javascript对象相同。如果我找到更具体的解决方案,我会尝试添加/编辑它。