windows上的atom + mocha = spawn mocha ENOENT

时间:2017-10-13 13:25:00

标签: node.js mocha atom-editor

我的目标是运行Atom的mocha单元测试,它安装在Windows上,我的src代码也存在。这应该独立于我在不同(Linux)机器上运行的Meteor App。

基本上我的设置是这样的:

我有我的回购和源代码:

c:\Users\Me\repos\meteor

我的测试在里面:

c:\Users\Me\repos\meteor\tests

我有节点:

 c:\Program Files\nodejs

"npm i -g mocha --save-dev"

一起安装

我尝试使用这个包https://github.com/Tabcorp/atom-mocha-test-runner,但如果需要,我可以切换到另一个包。

到目前为止我尝试过:

我编辑了atom-mocha-test-runner的设置:

enter image description here

Mocha command: C:\Program Files\nodejs\node_modules\mocha\.bin\mocha
Mocha command: C:\Program Files\nodejs\npm mocha

但每次我尝试通过下拉菜单(运行摩卡测试)运行我的测试时,我都会收到此错误:

Mocha Test Results:

Node binary:    C:\Program Files\nodejs\node.exe
Root folder:    C:\Source\Repos
Mocha command:  undefined
Path to mocha:  mocha
Debug-Mode:     false
Test file:      tests\unit\first.js
Selected test:  should return url

Failed to run Mocha
spawn mocha ENOENT

任何人都知道我错过了什么或做错了什么?

1 个答案:

答案 0 :(得分:1)

仍然不知道为什么这个套餐不起作用,我会给出一个警察答案。如果我们弄清楚如何使它工作,你可以接受这个答案。 process-palette使您能够从Atom命令运行高度特定的命令行指令。这是一个命令的示例,该命令在具有相同热键的当前文件的项目路径中运行mocha,并且还方便地组织到其自己的菜单项中:

A Process Palette command configuration view.

这种方法的缺点是你必须自己知道如何使用外部程序。像mocha-test-runner这样的软件包旨在消除用户的需求,但正如我们在这里看到的,有时软件包并不知道它需要做什么。由于您只需要学习命令足够长的时间来设置运行它的配置,因此可以减轻这一缺点,并且从这一点开始就非常容易。

与其他软件包相比,优势包括精确控制正在进行的操作的能力。假设您在当前项目中有多个顶级文件夹,并且它们具有不同的测试套件。像mocha-test-runner这样的包可以从活动文件或项目中获取路径。如果开发人员选择抓住项目路径,那么您将无法运行单个测试套件。通过我共享的配置,命令将始终在当前文件的项目文件夹的绝对路径中运行,因此测试将针对您当时正在处理的任何文件运行