用电子而不是节点运行jest

时间:2017-05-24 17:16:29

标签: node.js build electron jestjs native

长话短说,我想用电子而不是节点来进行我的测试(使用CLI)。

使用本机模块时,它是相关的,因为您需要使用电子标头构建它们,而jest使用普通节点运行它们。 所以我必须为我的应用程序构建我的原生模块(至少在开发模式下)或我的测试,我不能同时工作。

In this thread他们建议使用mocha,但我想使用jest,它更先进,与React交互得很好。 请注意,我不想模拟本机模块,因为我编写了集成测试。

我打开了关于zmq github repo的问题。一个建议的解决方案是使用ELECTRON_RUN_AS_NODE = true electron作为您的节点运行时"来定位您的测试。 这是一个非常好的解决方案,因为使用电子将使测试环境更接近执行环境并解决我对本机模块的特定问题。

我想应用它,但我似乎无法设置jest CLI使用电子而不是节点,我不知道从哪里开始。也许我应该在没有CLI的情况下以编程方式运行jest?但是我可能会失去CLI的良好测试过滤功能。

有人已经解决了这个问题吗?

2 个答案:

答案 0 :(得分:3)

"ELECTRON_RUN_AS_NODE=true ./node_modules/.bin/electron ./node_modules/.bin/jest工作正常

答案 1 :(得分:1)

如果您使用的是Windows,则Eric Burel的出色发现可能需要一些调整才能使用环境变量,并调用正确版本的Jest:

  

cross-env ELECTRON_RUN_AS_NODE = true ./node_modules/.bin/electron ./node_modules/jest-cli/bin/jest.js

不幸的是,文本的颜色消失了。