我的目标是运行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的设置:
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
任何人都知道我错过了什么或做错了什么?
答案 0 :(得分:1)
仍然不知道为什么这个套餐不起作用,我会给出一个警察答案。如果我们弄清楚如何使它工作,你可以接受这个答案。 process-palette
使您能够从Atom命令运行高度特定的命令行指令。这是一个命令的示例,该命令在具有相同热键的当前文件的项目路径中运行mocha
,并且还方便地组织到其自己的菜单项中:
这种方法的缺点是你必须自己知道如何使用外部程序。像mocha-test-runner
这样的软件包旨在消除用户的需求,但正如我们在这里看到的,有时软件包并不知道它需要做什么。由于您只需要学习命令足够长的时间来设置运行它的配置,因此可以减轻这一缺点,并且从这一点开始就非常容易。
与其他软件包相比,优势包括精确控制正在进行的操作的能力。假设您在当前项目中有多个顶级文件夹,并且它们具有不同的测试套件。像mocha-test-runner
这样的包可以从活动文件或项目中获取路径。如果开发人员选择抓住项目路径,那么您将无法运行单个测试套件。通过我共享的配置,命令将始终在当前文件的项目文件夹的绝对路径中运行,因此测试将针对您当时正在处理的任何文件运行