Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何在电子应用的主要流程中对组件进行单元测试?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个具有以下文件夹结构的电子应用程序:

app/js/
     |_ main.js
     |_ myClipboard.js
     |_ view/ 
         |_ render.js

现在main.js@L_448_3@myClipboard使用Nedb(文档存储)在本地存储一些用户数据.我想测试myClipboard中的逻辑,因为它将涉及一些条件逻辑.

是什么让这很困难是myClipboard需要电子提供的剪贴板模块.以下行在测试设置(jasmine-nodE)中失败:

var clipboard=require('clipboard')

它说无法找到’剪贴板’模块.我想测试需要从内部电子运行.

我该如何测试?

我尝试使用electron-mocha,但它似乎与nedb使用的异步模块有问题.在插入,更新等调用都不在测试环境中工作,但是当我调出应用程序时它们工作正常.

在这里错过了什么吗?

解决方法

当涉及到测试电子应用时,我喜欢:

>对一些隔离模块进行单元测试,
>进行一些端到端测试以查看应用程序是否作为一个整体工作.

现在可以使用spectron轻松实现端到端测试.

但是对于单元测试,我们的一些模块可能基于电子包,如果我们只是用节点运行测试就不可用.

您可以使用proxyquire轻松地存储电子包.确保阻止调用需要与proxyquire @noCallThru属性的原始依赖关系,或者要求需要像这样的proxyquire(‘proxyquire’).noCallThru().这将确保您的测试甚至不会尝试要求原始依赖项,从而可以在简单的节点过程中运行单元测试.

一个解决方案是利用依赖注入并确保您的模块不依赖于电子包引入的任何东西.

大佬总结

以上是大佬教程为你收集整理的node.js – 如何在电子应用的主要流程中对组件进行单元测试?全部内容,希望文章能够帮你解决node.js – 如何在电子应用的主要流程中对组件进行单元测试?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。