我正在尝试在Windows中运行应用程序,这个应用程序有一些mocha测试。我需要制作。我读了这个
Mocha requires make. Can't find a make.exe that works on Windows
和这个
Node.js cannot find module - interfering with cygwin on Windows
我在Github目录中有应用程序(在cygwin目录结构之外),我安装了windows版本的节点。
我尝试使用PowerShell并根据建议设置别名,但我总是得到
> module.js:340 > throw err; > ^ Error: Cannot find module 'C:\cygdrive\c\Users\Nicola\AppData\Roaming\npm\node_modules\mocha\bin\mocha' > at Function.Module._resolveFilename (module.js:338:15) > at Function.Module._load (module.js:280:25) > at Module.runMain (module.js:487:10) > at process.startup.processNextTick.process._tickCallback (node.js:244:9) Makefile:5: recipe for target `test' failed make: *** > [test] Error 1
我在该目录中安装了mocha(BTW为什么他不在node_modules subdir中查找mocha?)。问题似乎是C:\cygdrive\c\Users
部分我该如何解决这个问题?
我也尝试将文件复制到cygwin下的home /目录,但我得到了
./node_modules/.bin/mocha: line 1: ../mocha/bin/mocha: No such file or directory
Makefile:5: recipe for target `test' failed
make: *** [test] Error 127
我该怎么办?
答案 0 :(得分:18)
我能够做到的最好的方法是首先在目录中安装mocha作为dev依赖项(即:npm install mocha --save-dev
)。然后在npm test
内的package.json
命令中,使用"test": "mocha"
。这样,您可以在CLI中轻松运行npm test
以进行标准化。您现在可以在test/
目录中设置测试,也可以使用简单的test.js
文件,以防您只运行一些测试。另外,不要忘记在options上添加mocha.opts
个文件。这应该工作,特别是如果你使用Git Bash(我尝试过Windows CMD,它也可以工作!)。
答案 1 :(得分:1)
你应该使用msysgit - 它附带make。
答案 2 :(得分:0)
当你写“make test”时,你会收到:
./node_modules/.bin/mocha: line 1: ../mocha/bin/mocha: No such file or directory
Makefile:5: recipe for target `test' failed
make: *** [test] Error 127
这意味着您的项目中没有安装Mocha。将mocha放入package.json并运行'npm install':
{
"name": "appName"
, "version": "0.0.1"
, "private": true
, "dependencies": {
"mocha": "1.3.0"
, "should": "1.0.0"
}
}
之后我在Windows上运行了测试。
答案 3 :(得分:0)
您可以使用以下语法在package.json文件中配置npm test命令以运行mocha。
"scripts": {
"test": "node node_modules/mocha/bin/mocha --recursive"
},
答案 4 :(得分:0)
我的解决方案是运行命令node ./node_modules/mocha/bin/mocha
发生这种情况是因为mocha不是Windows环境的变量。